Linux常识及基本指令
发布于 2015-07-30 16:25 类别: tech
Linux的版本?内核版本号的组成?
内核版本、发行版本Linux的内核本号由3个数字组成:X.Y.Z。 X:主版本号,通常在一段时间内比较稳定。 Y:次版本号,偶数代表正式版本,可公开发行;奇数代表测试版 * Z:表示修改次数号。如Red Hat AS 5 内核版本是 :2.6.18
Linux基本思想与原则?
一切都是文件。K.I.S.S (Keep it Simple Stupid)保持简单傻瓜化。
block是不是越大越好?
不一定,根据实际需求。一个block只能存储一个文件,如果比较大会占用多个block。如果一个文件夹下一万个文件,占用一万个block,一个文件1k,一个block4k,十兆文件占四十兆空间。如果将block分成1K,节省空间,但是读取效率就低了。所以应该根据实际情况,如果是大量零碎文件存储、以及大量临时文件的读写,为了增加磁盘空间效率,可以缩小block,如果是大文件的数据存储,比如数据库应用,可以放大block来提高磁盘数据寻址效率。
Linux系统分区原则
- 严格限制大小的:/—根目录,1G。/swap—系统的交换分区,可以看作是虚拟内存的分区,类似windows当中的pagefiles.sys。,建议这个分区是物理内存的两倍。/boot—开机时会用到的文件,1G。
- 灵活掌握大小的:/tmp—临时文件 /usr/local—系统管理员在本机安装自行下载软件的地方 /opt—第三方软件放置的地方
- 尽量大点的:
- /home—存放用户的主目录。
- /usr—厂商提供的软件存放的地方,类似windows下的c:\program file\,这是linux系统中占用硬盘空间最大的目录。
- /var—可变信息区(file spool,logs,requests,mail,etc.),存放可变信息、日志(这三个根据自己需要设置,最后把剩余空间都分配给var即可)。
主分区、逻辑分区、扩展分区之间的联系与区别?
1-4块是预留给主分区和扩展分区的,除去主分区剩余全是扩展分区。逻辑分区从第5块开始,逻辑分区之和等于扩展分区,逻辑分区没有数量限制。 linux下用字符表示的文件类型: -:普通文件 d:目录文件 l:链接文件 b:块设备文件 c:字符设备文件 p:管道文件
su、su -、sudo的区别?
- su - 获得本机最高的权限,同时环境也变成了超级用户的环境。
- su只获得了超级用户的权限,环境还是没变,最高权限不能使用,比如改变组的权限就不能用。
- sudo,是Ubuntu常用,可以使用户临时取得超级用户的权限,比如十个人要取得权限,如果把密码告诉十个人,那安全性就不能得以保证,用sudo就可以让他们临时取得权限。
基本指令
pwd查看当前主目录(root直接放在根目录 只有自己可以读)

su 用户名切换普通用户,超级用户的主目录是根目录的子目录,普通用户的主目录是根目录的孙子目录。

su -切换到超级用户

ls查看文件(不包括隐藏文件)

ls -a列出全部(文件前带.的为隐藏文件)

ls -l长格式列出全部文件 等同于ll

cd 2进入文件2中(等同cd ~/2)

cd ..跳回上一级目录

cd /切换到根目录

cd回到用户主目录

touch 1创建文件1

mkdir 5创建目录5

cp 1 3拷贝1文件到3目录

mv 1 2剪切1文件到2目录:

mv还可以用于重命名mv 1 aaa把文件1改名为aaa

cp -r 2 3把2目录复制到3目录里

rm 1删除文件1

rmdir 1删除空目录1 只能删除空目录(非空先rm再删除)

rm -r 4逐层强制删除非空目录(询问)

rm –rf 2强制删除非空目录不询问

clear清屏cal当月日历

cal 2015全年日历

cal 5 2012查看2012年五月

Tab按两下查看一共有所少命令man ls查看命令用法date当前日期bc计算器 quit退出uname显示当前操作系统uname -a内核版本free查看内存使用情况top打开任务管理器kill 2342结束2342进程df查看分区dulast最近用户登录情况whowhoami当前登录身份lastlog列出每个用户的最近登录情况ps回车一瞬间活动的进程shutdown -h now立刻关机init 0立刻关机halt立刻关机shutdown -r now立刻重启hostname显示主机名cat查看文件内容-
cat /etc/passwd查看用户查看用户:每一行代表一个用户,每个用户7列。用户名 密码(x 看不见) 用户ID 组ID 备注。 用户主目录所在路径 这个用户所有的shell用户ID>=500跟我们有关 <500不用看 最高值65534。
-
cat /etc/group查看组查看组:组名 组密码 组ID号 一个目录是一个用户 一个组可以存放多个用户,即多个目录 查看组内用户只能通过查看用户组ID。
用户管理
创建组 groupadd 组名
删除组 groupdel 组名
passwd 用户名 修改用户密码
userdel -r 用户名 删除用户
创建用户语法:useradd -d home 目录名 -g 组名 -s shell路径 用户名
例:useradd -d /home/xmetc -g etc -s /bin/bash xmet
usermod -g 组名 用户名 改变用户所属的组
groupmod -n 新组名 原组名 更改用户组名称
chgrp –R root /tmp/ 将tmp目录下所有子目录和文件的所有组全部设为root 改变文件或文件夹所属的用户
chown user file1 将file1文件的所有者改为user
chown -hR user file1 将file1下的所有文件所有者都改为 user
练习:
- 建立两个组(神仙、妖怪)
- 建立四个用户(唐僧、悟空、八戒、沙僧)并给用户设置密码
- 把悟空、八戒放入妖怪,唐僧、沙僧放入神仙
- 用悟空建立一个文件(monkey.java文件中写入I am monkey)给八戒一个可以rw的权限
- 八戒修改monkey.java加入一句话(I am pig)
- 唐僧、沙僧对该文件没有权限
- 把沙僧放入妖怪组
- 让沙僧修改文件monkey.java加入一句话(我是沙僧,我是妖怪)
1.
groupadd shenxian
groupadd yaoguai
cat /etc/group

2.3.
useradd -d /home/tangseng -g shenxian -s /bin/bash tangseng
passwd tangseng

useradd -d /home/shaseng -g shenxian -s /bin/bash shaseng
passwd shaseng

useradd -d /home/wukong -g yaoguai -s /bin/bash wukong
passwd wukong

useradd -d /home/bajie -g yaoguai -s /bin/bash bajie
passwd bajie

cat /etc/passwd

4.
su wukong
cd /tmp
touch monkey.java

vim monkey.java (写入I am monkey)
chmod 770 monkey.java(所有者与同组人可读可写可执行,其他人不可读不可写不可执行)
5.
su bajie
cd /tmp
ll
vim monkey.java
写入I am pig
6.
su shaseng
cd /tmp
vim monkey.java
没有权限!
7.
登录超级用户
su -
usermod -g yaoguai shaseng
cat /etc/passwd
8.
su shaseng
cd /tmp
vim monkey.java
写入我是沙僧,我是妖怪