FHS:文件结构标准
/bin: 存放可执行的二进制程序,管理员和普通用户都可以使用
/sbin:管理员才能执行的命令
运行正常功能的程序存放位置
/usr/bin
/usr/sbin
用来存放第三方软件的程序
/usr/local/bin
/usr/local/sbin
/boot:存放系统引导文件:内核、ramfs文件、bootloader(grub)
/dev:设备文件存放目录
/etc:配置文件的集中存放目录
/etc/sysconfig:系统级别的应用
/etc/init.d:系统服务脚本
/home :普通用户,默认在/home下有一个与其名称同名目录,作为用户的家目录
/root:管理员的家目录
/lib,/lib64:库文件
/media:专用挂载位置,通常用来挂载便携式设备
/mnt:专用挂载位置,挂载额外的存储设备
/misc:杂项,备用目录
/opt:可选目录,但通常用来安装第三方软件
/proc:所显示的文件都不是文件,伪文件系统,运行中的内核参数的映射
/sys:伪文件系统,系统级别的用于配置硬件设备相关的参数
/srv:为服务提供数据存放位置的
/tmp:临时文件系统:默认存放30天
/usr:shared 所有遵循协议的系统都可以使用,readonly 只读
/usr/include:头文件存放位置
/var:经常发生变化的文件
/var/log
/var/lock
/var/run
/var/cache
文件命名规则:
1.长度不能超过255个字符
2.不能使用/做文件名
3.严格区分大小写
路径:
相对路径:相对于当前位置而开始的文件引用路径
绝对路径:由跟开始的文件引用路径
系统操作:
目录管理
ls 查询当前目录下的文件
cd 切换目录
pwd 查看当前文件的路径
tree 查看目录树
yum -y install tree
mkdir 创建空目录
-p :
-v : 详细信息
rmdir 删除目录(不跟参数只能删除空目录)
文件管理(filename指文件名)
创建文件:
touch 修改文件的时间戳,如果文件不存在就默认创建
-m 修改文件的访问时间戳
-a 修改文件的修改时间戳
-t
-c
stat 查看文件源数据或属性(时间戳)
创建文件可以使用文件编辑器
file 查看文件内容内型
nano filename
删除文件:
rm filename
rm -i 交互式,即在操作时会出提示
rm -f 强行删除
rm -r 删除目录,递归删除目录下的所有文件
复制文件
cp:copy
格式
cp 源 目标 (源可是多个,目标只能一个)
说明: 可以复制一个文件到一个文件,多个文件到一个目录
不可以多个文件复制到一个文件,不可以多个文件复制到多个目录
cp file1 file2 file3 为:将file1和file2复制到file3
cp file1 file2
说明:如果目标是目录,并且存在,即将源文件存放在目标目录下并保持原名字
如果目标不存在,且目标是个文件,即将源文件复制到目标目录,并改为目标文件名
如果目标不存在,且目标是个目录,即创建目标目录并将源文件存放在目录下并保持原名字
如果源是多个,目标必须是目录
cp -r 递归复制目录和目录下的所有文件
cp -i 交互式
cp -f 强行复制
cp -p
cp -a 归档存放
移动文件
mv:move
格式:
mv 源 目标
mv file1 file2
移动源文件file1到目标文件,并改名为file2
说明:可以移动一个文件到另一个文件
如果目标目录不存在,就创建目录并移动到目录下,保留原名字
如果目录存在,就移动到目标目录下,并保存目录
如果移动的是目录,目标存在,但是是文件,就不可以移动
mv -t 目标 源
命令:install
说明:
可以复制一个源到一个目录
可以复制多个源到一个目录
-d 表示可以创建目录
-m 指定复制后的权限,默认为 rwxr-xr-x
查看文本:(filename 指文件名)
cat filename 连接并显示
cat -n filename 显示文件并显示行号
cat -E filename 显示没一行的行结束符
翻页: shift + pageUp
shift + pageDown
tac filename 倒序行显示文本
more filename 向后翻页
less filename 向后翻页 q键退出
head filename 查看文件的前n行,默认是10行
head -n filename 指定显示文件的前n行
tail filename 查看文件的后n行
tail -n filename 指定显示文件的后n行
tail -f filename 指定显示文件的后n行且不退出,等待显示后续追加新内容
文本处理:
cut 文本剪切
-d 指定字段分隔符,默认是空格
-f 指定要显示的字段
-f 1 显示第一个字段
-f 1,3 显示第一个和第三个字段(离散表示法)
-f 1-3 显示第一个到第三个字段(连续表示法,取范围)
示例:
cut -d : -f1,7 /etc/passwd 说明:显示文本/etc/passwd中以:分开的第1和第7字段
cut -d : -f1-3 /etc/passwd 说明:显示文本/etc/passwd中以:分开的第1到第3字段
join 文本合并
文本处理三大利器:sed awk grep
文本排序
sort 只对输出显示做排序,不影响源文件
默认是按ASCL码排序
-n 数值排序
-r 降序排序
-t 指定字段分隔符
-k 以哪个字段为关键字进行排序
示例:sort -t: -k3 -n /etc/passwd 说明:/etc/passwd中以:为分隔符(-t:),指定以第3字段(-k3)按数值(-n)排序
-u 相同的行只显示一次
-f 排序时不区分字符大小写
uniq
uniq -d 只显示重复的行
uniq -D 显示所有重复的行
uniq -c 显示文本中行重复的次数
文本统计
wc (word count)
-c 字节数
-m 字符数
-l 行数
-w 单词数
-L 最长的行的字符数
字符处理
tr 转换或删除字符
用法: tr [OPTION]... SET1 [SET2]
示例:tr 'a' 'A' < filename 把filename中的小写a替换成大写A
tr -d 删除出现字符集中的所有字符
权限管理:
owner,group,other
属主,属组,其他
权限:read write execute
r w x
文件:
r:可以使用内容查看类的命令来显示其相关内容
w: 可以使用编辑器修改其内容
x:可以将其发起一个进程
目录:
r:可以使用ls命令查看目录内容的文件信息
w:可以创建、删除文件
x:可以使用ls -l命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录:
用户的不拥有某位权限,则使用-占位
r-x:读和执行的权限
r--:只读权限
rw-:读写权限
权限换算:
十进制 二进制 字符
0 000 --- 无权限
1 001 --x 只执行
2 010 -w- 只写
3 011 -wx 写和执行
4 100 r-- 只读
5 101 r-w 读和执行
6 110 rw- 读写
7 111 rwx 读写执行
用户与组
用户ID:UID
/etc/passwd
组ID:GID
/etc/group
用户密码保存文件:/etc/shadow
组密码保存文件:/etc/gshadow
用户类型
管理员:root,UID永远为0
普通用户:UID范围:1-65535
系统用户:1-499 允许后台进程的用户
一般用户:500-65535
用户组类型
私有组
基本组
附加组
/etc/passwd 字段说明:
1. account: 用户名
2. password: 密码占位符X
3. UID 用户ID
4. GID 基本组ID
5. GECOS 用户的注释信息(有时为空)
6. home dir 家目录
7. SHELL 用户的默认shell
cat /etc/shells 查看当前主机的安全shell
/etc/shadow 字段说明:
1. account:登录名
2. encrypted passwoed :加密的密码
!!和*表示锁定用户,不允许登陆
3. 上次修改密码的时间
4. 密码最短使用期限(0表示不作限定)
5. 密码最长使用期限
6. 密码过期前的警告时间
7. 密码过期后到锁定前的时间
8. 密码有效期
9. 保留字段
用户管理命令:
useradd userdel usermod passwd chsh chfn finger id chage
/etc/passwd:
用户名:密码占位符:UID:GID:注释:家目录:默认shell
创建用户:useradd [options] USERNAME
[options]选项
-u UID 指定用户ID
示例:useradd -u 501 Username 说明:创建一个UID为501的用户:Username
-g GID 指定基本组(必须事先存在才可以)
示例:useradd -g 306 -r -u 306 user2 说明:创意一个指定GID为306,UID为306的系统用户:user2
-G GID... 指定附加组 (组必须事先存在,可以有多个)
-c "COMMENT" 指定注释信息
-d /path/to/somedirectory 指定家目录,默认为/home,-d后跟一个路径即可
示例:useradd -d /home/blade user4 说明:创建一个家目录为 /home/blade的用户:user4
-s 指定shell的路径 一定要是/etc/shells中的安全shell
示例:useradd -s /sbin/nologin user5 说明:创建一个安全shell的用户:user5 ,user5不可登陆
/etc/shells 中的shell为安全shell
-r 创建系统用户
删除用户:userdel [options] USERNAME
如果删除时不加参数,用户的家目录是不会删除的
-r 同时删除用户的家目录
修改用户:usermod
-u 指定用户UID
示例:usermod -u 2002 user1 说明:修改用户user1的UID为2002
-g 指定组GID(特别说明:改为的目标组名必须存在)
-a -G GID: 不适用-a选项,会覆盖此前的附加组,加-a 追加新的附加组
-d -m 为用户指定新的家目录,且移动前家目录下的文件
-s 修为用户的shell
-l 修改用户登陆名
-L 锁定账号,类似于禁用,不能登录
-U 解锁账号
密码管理:passwd [USERNAME]
--stdin 标准输入读取密码,从其他地方读取信息获取密码
示例:echo "centos" | passwd --stdin USERNAME 说明:通过管道获取centos字符串给USERNAME获取密码
-d 删除用户密码
-l 锁定用户账户
-u 解锁用户账号
示例:passwd -d USERNAME
chsh: 修改用户的默认shell
chfn: 修改注释信息
pwck:检查用户账户完整性
finger
centos 6.5 需安装finger
yum -y install finger
id:查看用户的账号属性信息(不跟参数会查询当前用户信息)
-u 显示UID
-g 显示GID
-n 显示name
组管理:
创建组:groupadd
-g GID,指定组ID
示例:groupadd -g 306 group1 说明:创建GID为306的组:group1
-r 创建系统组
修改组信息:groupmod
-g 修改组ID
-n 修改组名
删除组:groupdel
为组设定密码
gpasswd [GNAME组名]
chage 改变用户密码的过期信息
-d 指定密码最近一次修改时间
-E 过期时间
-r 非活动时间
-m 最短使用期限
-M 最长使用期限
-W 警告时间
文件权限管理命令:(/path/to/表示路径)
chown:改变文件属主(只有管理员可以使用)
# chown USERNAME file,... 说明:把文件 (file,...)的属主改为:USERNAME
选项:
-R:递归修改,修改目录及其内部文件的属主
--reference=/path/to/somefile file,...
说明:把文件 (file,...)的属主改为(/path/to/)路径下的somefile文件一样的属主
chown USERNAME:GROUPNAME file,...
说明:同时修改文件(file,...)的属组和属主
chgrp:改变文件的属组(只有管理员可以使用)
# chown GROUPNAME file,... 说明:把文件 (file,...)的属组改为:GROUPNAME
选项:
-R:递归修改,修改目录及其内部文件的属组
--reference=/path/to/somefile file,...
说明:把文件 (file,...)的属组改为(/path/to/)路径下的somefile文件一样的属组
chmod:修改文件的权限(file只文件名)
1.修改三类用户的权限
chmod MODE file,... (MODE指文件的8进制权限)
-R 递归修改
--reference=/path/to/somefile file
2.修改某类用户或某些类用户权限
u:属主 g:属组 o:其他用户 a:所有
chmod 用户类别=MODE file
示例:chmod u=rwx file 说明:修改文件file的属主权限为rwx
chmod a=rwx file 说明:修改文件file的所有用户权限为rwx
chmod g=r,o=r file 说明:修改文件file的属组和其他用户的权限为r
3.修改某类用户的某位或者某些为的权限
chmod 用户类别+|-MODE file 说明:给某类用户加上一个没有的权限或者取消一个拥有的权限
示例:chmod u-x file 说明:取消文件file的属主u的x权限
chmod g+x o-w file 说明:给文件file的属组加上x的权限,其他用户o取掉w权限
chmod a+x file 说明:给所有类用户加上x权限
chmod u-wx file 说明:取消文件file的属组的wx权限