Linux学习笔记一 linux常用命令
2017-12-21 11:34
260 查看
一、文件处理
1. ls 显示目录文件
-a 显示所有文件,包括隐藏文件 -l 详细信息展示 -d 查看目录属性
2. mkdir 创建新目录
-p 递归创建
3. cd 切换目录
4. pwd 显示当前目录
5. cp 复制文件或目录
-r 复制目录 -p 保留文件属性
6. mv 剪切文件、改名
7. rm
-r 删除目录 -f 强制执行
8. touch 创建空文件
9. cat 显示文件内容
-n 显示行号
10. tac 显示文件内容(反向列式)
11. more 分页显示文件内容
(空格)或f 翻页 (Enter) 换行 q或Q 退出
12. less 分页显示文件内容(可向上翻页)
13. head 显示文件前面几行
-n 指定行数
14. tail 显示文件后面几行
-n 指定行数 -f 动态显示文件末尾内容
15. ln 生成链接文件
语法:ln -s [原文件] [目标文件] -s 创建软链接
二、权限管理
1. chmod 改变文件或目录权限
语法:chmod[{ugoa}{+-=}{rwx}][文件或目录] [mode=421][文件或目录] -R 递归修改
2. chown 改变文件或目录的所有者
示例:chown filename user1l 改变文件filename的所有者为user1
3. chgrp 改变文件或目录的所属组
语法:chgrp [用户组][文件或目录] 示例:chgrp group1 filename 改变文件filename的所属组为group
4. umask 显示、设置文件的缺省权限
-S 以rwx形式显示新建文件缺省权限
5. ACL权限
ACL:除所有者、所属组、其他人之外的用户权限 1> 查看分ACL权限是否开启 语法: dumpe2fs -h /dev/sda1 # dumpe2fs 命令是查询指定分区详细文件系统信息的命令 选项:-h 仅显示超级块中信息,而不显示磁盘块组的详细信息 2> 临时开启分区ACL权限 语法: mount -o remount,acl / # 重新挂载根分区,并挂载加入acl权限 3> 永久开启分区ACL权限 vim /etc/fstab UUID=dd5cb476-816f-44ed-a390-cbab278792b8 /boot ext4 defaults,acl 1 2 mount -o remount / # 重新挂载文件系统或重启系统,使修改生效 4> 查看ACL命令 getfacl 文件名 # 查看acl权限 5> setfacl 设定ACL权限命令 语法: setfacl 选项 文件名 选项: -m 设定ACL权限 -x 删除指定的ACL权限 -b 删除所有的ACL权限 -d 设定默认的ACL权限 -k 删除默认的ACL权限 -R 递归设定ACL权限 示例: setfacl -m u:st:rx /project/ # 给用户st赋予r-x权限,使用“u:用户名:权限”格式 6> 给用户组设定ACL权限 setfacl -m g:tgroup:rwx /project/ # 为tgroup分配ACL权限。使用“g:组名:权限”格式 7> 最大有效权限mask # mask是用来指定最大有效权限的。如果我给用户赋予ACL权限,是需要和mask的权限“相与” # 才能得到用户的真正权限 语法:setfacl -m m:rx 文件名 # 设定mack权限为r-x,使用“m:权限”格式 8> 删除ACL权限 语法: setfacl -x u:用户名 文件名 # 删除指定用户的ACL权限 setfacl -x g:组名 文件名 # 删除指定用户组的ACL权限 setfacl -b 文件名 # 会删除文件的所有的ACL权限 9> 递归ACL权限 语法: setfacl -m u:用户名:权限 -R 文件名 10> 默认ACL权限 语法: setfacl -m d:u:用户名:权限 文件名
6. 文件特殊权限
1> SetUID 只有可以执行的二进制程序才能设定SUID权限 命令执行者要对该程序拥有x(执行)权限 命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主) SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效passwd命令拥有SetUID权限,所以普通可以修改自己的密码 a> 设置SUID 语法: chmod 4755 文件名 或者 chmod u+s 文件名 b> 取消SUID 语法: chmod 755 文件名 或者 chmod u-s 文件名 c> 注意: 关键目录应严格控制写权限 2> SetGID 只有可执行的二进制程序才能设置SGID权限 命令执行者要对该程序拥有x(执行)权限 命令执行在执行程序的时候,组身份升级为该程序文件的属组 SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效 a> 设置SGID 语法: chmod 2755 文件名 或者 chmod g+s 文件名 b> 取消SUID 语法: chmod 755 文件名 或者 chmod g-s 文件名 c> 注意: 关键目录应严格控制写权限 3> Sticky BIT (粘着位) 粘着位目前只对目录有效 普通用户对该目录拥有w和x权限,即普通用户 可以在此目录拥有写入权限 如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一但赋予了粘着位, 除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件但是不能删除其他用户建立的文件 a> 设置粘着位 语法: chmod 1755 目录名 chmod o+t 目录名 b> 取消粘着位 chmod 777 目录名 chmod o-t 目录名
7、文件系统属性chattr权限
1> 设置chattr属性 语法: chattr [+-=] [选项] 文件或目录名 + 增加权限 - 删除权限 = 等于某权限 选项: i 如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。 a 如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除 2> 查看attr属性 语法: lsattr 选项 文件名 选项: a 显示所有文件和目录 d 若目标是目录,仅列出目录本身的属性,而不是子文件的
8、系统命令sudo权限
1> sudo权限 root把本来只能超级用户执行的命令赋予普通用户执行。 sudo的操作对象是系统命令 2> sudo 使用 实际修改的是/etc/sudoers 文件 root ALL=(ALL) ALL #用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径) # %wheel ALL=(ALL) ALL #%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径) 示例: 授权sc用户可以重启服务器 visudo sc ALL= /sbin/shutdown –r now
三、文件搜索
1. find 文件搜索
语法:find [搜索范围][匹配条件] -name 根据文件名查找 -iname 根据文件名查找不区分大小写 -size 根据文件大小查询 +n 大于 -n 小于 n 等于 -user 根据文件所有者查询 -group 根据所属组查询 -amin 根据访问时间查找 -cmin 根据文件属性修改时间查找 -mmin 根据文件内容修改时间查找 示例:find /etc -cmin 在 /etc下查找五分钟内被修改过属性的文件和目录 -a 两个条件同时满足 -o 两个条件满足任意一个即可 -exec/-ok {} \; 固定格式,对搜索结果执行操作 -type 根据文件类型查找 -inum 根据i节点查找
2. locate 在文件资料库中查找文件
语法: locate filename updatedb 更新文件资料库
3. which 搜索命令所在目录及别名信息
4. whereis 搜索命令所在目录及帮助文档路径
1:命令的帮助 5:配置文件的帮助
5. grep 在文件中搜寻字串匹配的行并输出
-i 不区分大小写 -v 排除指定字串
四、帮助命令
1. man 获得帮助信息
语法:man [命令或配置文件]
2.whatis 命令的简短信息
3.apropos 配置文件的简短信息
2. help
语法: help 命令
五、用户管理
1. 用户配文件
a> /etc/passwd 用户信息文件 语法: account:password:UID:GID:GECOS:directory:shell 示例:1 2 3 4 5 6 7 root:x:0:0:root:/root:/bin/bash 字段释义: 1. 用户名 2. 密码标志 3. UID(用户ID) 0: 超级用户 1-499: 系统用户(伪用户) 500-65535: 普通用户 4.GID(用户初始组,用户又出现就有的组) 5.用户说明 6.家目录 普通用户:/home/用户名 超级用户:/root/ 7.登录之后的Shell b> /etc/shadow 影子文件 示例:1 2 3 4 5 6789 root:xxx:17501:0:99999:7::: 字段释义 1.用户名 2.加密密码 加密算法升级为SHA512散列算法加密 如果密码是“!!”或“*”代表没有密码,不能登录 3.密码最后一次修改时间 使用1970/1/1作为标准日期,每过一天时间戳加1 4.两次密码的修改时间间隔(跟第三个字段相比) 5.密码有效期(和第三个字段相比) 6.密码修改到期前的警告天数(和第五个字段相比) 7.密码过期后的宽限天数,(和第五个字段相比) 8.账号失效时间(要用时间戳表示) 9.保留 c> /etc/group 组信息文件 示例:1 2 3 4 root:x:0: 字段释义: c31a 1.组名 2.组密码标志 3.GID 4.组中附加用户 d> /etc/gshadow 组密码文件 示例:1 2 3 4 root::: 字段释义: 1.组名 2.组密码 3.组管理员用户名 4.组中附加用户
2.用户管理相关文件
a> 用户的家目录 普通用户:/home/用户名/,所有者所属组都是次用户,权限700 超级用户:/root/,所有者所属组都是root用户,权限550 b> 用户的邮箱 /var/spppl/mail/用户名/ c> 用户的模板目录 /etc/skel
3. useradd 添加新用户
语法: useradd [选项] 用户名 选项: -u UID:手工指定用户的UID号 -d 家目录:手工指定用户的家目录 -c 用户说明:手工指定用户的说明 -g 组名: 手工指定用户的初始组 -G 组名:指定用户的附加组 -s shell 手工指定用户的登录shell,默认是/bin/bash 用户默认文件 /etc/default/useradd # useradd defaults file GROUP=100 #用户默认组 HOME=/home #用户家目录 INACTIVE=-1 #密码过期宽限天数(shadow 7字段) EXPIRE= #密码失效时间(8) SHELL=/bin/bash #默认shell SKEL=/etc/skel #模板目录 CREATE_MAIL_SPOOL=yes #是否建立邮箱 /etc/login.defs PASS_MAX_DAYS 99999 #密码有效期(5) PASS_MIN_DAYS 0 #密码修改间隔(4) PASS_MIN_LEN 5 #密码最小5位 PASS_WARN_AGE 7 #密码到期警告 UID_MIN 500 #最小和最大UID范围 UID_MAX 60000 ENCRYPT_METHOD SHA512 #加密模式
4. passwd 设置用户密码
语法: passwd [选项] 用户名 选项: -S 查询用户密码的密码状态,仅root用户可用 -l 暂时锁定用户。仅root用户可用 -u 解锁用户。仅root用户可用 --stdin 可以通过管道符输出的数据作为用户的密码
5.usermod 修改用户信息
语法:usermod [选项] 用户名 选项: -u UID:手工指定用户的UID号 -d 家目录:手工指定用户的家目录 -c 用户说明:手工指定用户的说明 -g 组名: 手工指定用户的初始组 -G 组名:指定用户的附加组 -s shell 手工指定用户的登录shell,默认是/bin/bash -L 临时锁定用户(Lock) -U 解锁用户锁定(Unlock)
6、chage 修改用户密码状态
语法: chage [选项] 用户名 选项: -l 列出用户的详细密码状态 -d日期: 修改密码最后一次更改日期(shadow3字段) -m天数: 两次密码修改间隔(4字段) -M天数: 密码有效期(5字段) -W天数: 密码过期前警告天数(6字段) -I天数: 密码过后宽限天数(7字段) -E日期: 账号失效时间(8字段) 常用: chage -d 0 username #把密码修改日期归0了(shadow第三字段) #用户一登录就需要修改密码
7、userdel 删除用户
语法:userdel [-r] username -r:删除用户的同时删除用户家目录 手工删除用户: 需要修改的配置文件 /etc/passwd /etc/shadow /etc/group /etc/gshadow rm -rf /var/spool/mail/username rm -rf /home/username/
8、 su 切换用户身份
语法: su [选项] 用户名 选项: -: 选项只使用“-”代表连带用户的环境变量一起切换 -c: 仅执行一次命令,而不切换用户身份
9、groupadd 添加组
语法: groupadd [选项] 组名 选项: -g GID: 指定组ID
10、groupmod 修改用户组
语法:groupmod [选项] 组名 选项: -g GID: 修改组ID -n 新组名: 修改组名 示例: groupmod -n newgrp group1 #把组名group1修改为newgrp
11、 groupdel 删除组
groupdel groupname
12、gpasswd 把用户添加入组或从组中删除
语法: gpasswd 选项 组名 选项: -a 用户名: 把用户添加入组 -d 用户名: 把用户从组中删除
13、who 查看登录用户信息
示例: USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.174.1 11:57 0.00s 0.06s 0.00s w root pts/1 192.168.174.1 17:22 7.00s 0.02s 0.02s -bash tty 本地登录 pts 远程登录
14、w 查看登录用户详细信息
六、压缩解压
1. gzip 压缩文件
语法:gzip [filename]
2. gunzip 解压缩.gz格式的压缩文件
语法:gunzip [filename]
3. tar 打包目录
语法: tar 选项[-zcf] [压缩后文件名] [目录] 选项: -c 打包 -x 解包 -v 显示详细信息 -f 指定文件名 -z 打包同时压缩
4. zip 压缩文件或目录
语法: zip 选项[-r][压缩后文件名][文件或目录] 选项: -r 压缩目录 示例: zip filename.zip filename 压缩文件 zip -r dirname.zip dirname 压缩目录
5. unzip 解压 .zip的压缩文件
6. bzip2 压缩文件
语法:bzip2 选项[-k][文件] 选项: -k 产生压缩文件后保留原文件
7. bunzip2 解压缩
语法: bumzip2 选项[-k][压缩文件] 选项: -k 解压缩后保留原文件
相关文章推荐
- Linux学习笔记:常用搜索命令
- 写得蛮好的linux学习笔记(二)(一些常用的基本命令)
- 我的Linux学习笔记1(文件操作常用命令)
- Linux学习笔记——Linux常用命令—权限处理命令
- Centos学习笔记 linux 常用命令:压缩解压命令
- Centos学习笔记 linux 常用命令:压缩解压命令
- Linux学习笔记6-常用命令
- Linux学习笔记之--常用文件操作及目录管理命令
- 4,Linux学习笔记--LINUX常用命令(1)
- [Linux学习笔记]目录、路径、文件、目录常用命令
- 4,Linux学习笔记--LINUX常用命令(1)
- Linux学习笔记:基本概念、常用命令
- 5,Linux学习笔记--LINUX常用命令(2)
- linux学习笔记:<二>vi常用命令
- Linux学习笔记:GDB常用命令
- Linux 变干边学 学习笔记之 Vi常用命令
- Centos学习笔记 linux 常用命令:压缩解压命令
- 写得蛮好的linux学习笔记(一些常用的基本命令)
- Linux 学习笔记 - 常用命令
- 写得蛮好的linux学习笔记二-常用命令(收藏)