Linux学习笔记一 linux常用命令

一、文件处理

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 (粘着位)
     粘着位目前只对目录有效
     普通用户对该目录拥有wx权限,即普通用户 可以在此目录拥有写入权限
     如果没有粘着位,因为普通用户拥有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/shutdownr 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(用户ID0:         超级用户
        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:
    字段释义:
        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 解压缩后保留原文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值