Linux Shell编程从初学到精通笔记

2、Linux文件系统和文本编辑器
2.1、用户和用户组管理
2.1.1、用户管理常用命令
     useradd:用户账号添加指令
     useradd [option] [username]
     -g :用于添加用户账号时指定该用户的私有组。
     -G:用于添加附属组
     -D:用于显示或设置useradd命令所使用的默认值
     -d:指定用户主目录,如果此目录不存在,则同时使用-m选项来创建主目录。
     -m:使用的目录若不存在,则自动建立。
     -u: 制定用户的用户号。

     usermod:修改用户账号
     usermod [option] [username]
     -d :修改用户登入时的目录
     -e :修改账号的有效期限,days表示天数
     -g :修改用户所属的群组
     -l :变更用户登录时的名称为login_name
     -p :修改用户密码
     -s :指定用户登录的shell,如果不设置,则选用系统预设的shell

     userdel:删除用户账号命令

     passwd:用户口令管理命令
     passwd [option] [username]
     -l :锁定用户口令,即禁止使用该用户账号。
     -u:口令解锁
     -f:强迫用户下次登录时修改密码。
     -l [login_name]:变更用户登录时的名称为login_name

2.1.2、用户组管理常用命令
     groupadd:用户组添加命令
     groupadd [option] [groupname]
     -g GID:除非使用-o参数,否则GID值必须是唯一且数值不可为负,预设值以/etc/login.defs为准
     -o GID:运行GID不唯一
     -r:加入组GID号,且其GID号低于499系统账号。
     -f:新增一个已经存在的用户组账号,系统会出现错误,然后结束

     groupmod:用户组修改命令
     groupmod [option] [groupname]
     -g GID:用户指定新的GID
     -o GID:重复使用GID
     -n:为群组改名

     groupdel:用户组删除命令
     groupdel [groupname]

2.2、文件和目录操作
    
2.2.1、文件操作常用命令
     ls:文件清单命令
     ls [option] [file or directory]
    
     cp:文件复制命令
     cp [option] [source] [destination]
     -a:该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录。
     -d:复制时保留链接
     -f:删除已经存在的目标文件而不提示。
     -i:在覆盖目标文件时给出提示,要求用户确认。
     -p:除复制文件内容外,还将把其修改时间和访问权限也复制到新文件中。
     -r:递归复制该目录下的所有文件。
     -l:不进行复制操作,只是链接文件。

    mv:文件移动命令
    mv [option] [source] [destination]
    -i:交互方式操作。
    -f:禁止交互操作。
    -p:移动时保持权限。

    rm:删除文件命令
    rm [option] [fileName or directoryName]
    -f:忽略不存在的文件,从不给出提示
    -r:递归删除
    -i:进行交互式删除

2.2.2、目录操作常用命令
    mkdir:创建目录命令
    mkdir [option] [directoryName]
    -m:对新建目录设置存取权限
    -p:自动建立不存在的目录
    -v:每次创建新目录都显示信息。

    rmdir:删除目录命令
    rmdir [option] [directoryName]
    -p:递归删除空目录

    cd:目录切换命令
    cp [directoryName]
    cd -:返回上次访问的目录

2.2.3、文件和目录权限管理
    chmod:更改文件(目录)权限命令
    chmod [userType] [signal] [type] [filename]

    chown:更改文件(目录)属主命令
    chown [option] [owner] [filename]
    -c:若该文件或目录属主确实已经更改,才显示其更改动作。
    -h:改变符号链接文件的属主时不影响该链接所指向的目标文件。
    -f:若该文件或目录属主无法被更改也不显示错误信息。
    -v:显示属主变更的详细资料
    -R:以递归的方式逐个变更属主。
2.2.4、查找文件命令
    find:查找文件命令
    find [路径] [选项] [操作]
    -name:根据文件名查找文件
    -perm:根据文件权限查找文件
    -prune:使用这一选项可以使find命令不在当前制定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
    -user:根据文件属主查找文件
    -group:根据文件所属的用户组查找文件。
    -mtime -n +n:根据文件的更改时间查找文件,-n表示文件更改时间距今在n天之内,+n表示文件更改时间距今在n天之前
    -nogroup:查找无有效属组的文件
    -nouser:查找无有效属主的文件。
    -newer file1 ! file2:查找更改时间比文件file1新但比文件file2旧的文件。
    -type:查找某一类型的文件。
        b:块设备文件
        d:目录
        c:字符设备文件
        p:管道文件
        l:符号链接文件
        f:普通文件
    -size n:[c]:查找文件长度为n块的文件,带有c时表示文件长度以字节计。
    -depth:在查找文件时,首先查找当前目录下文件,然后在其子目录中查找

    -print:将匹配的文件输出到标准输出
    -exec:对匹配的文件执行该参数后的Shell命令。相应命令的形式为'command' { } \;
    -ok:和-exec的作用相同,不过给给出提示。

    find . -name 't*' -perm 744 -print:查找当前目录下文件名以t开头的,且文件属主具有读、写、执行权限的文件。
    find . -mtime -90 -print:查找更改时间距今90天内的文件
    find /etc -type f -name "rc*" -exec ls -l { } \;:查找/etc目录下文件名以rc开头的普通文件,并对查找结果执行ls -l命令,即列出查找结果的详细文件信息。

2.3 文本编辑器
2.3.1、vim编辑器
    用于移动光标的vim命令
    h:将光标向左移动
    j、+、Enter:将光标向下移动
    k、-:将光标向右移动
    l:将光标向右移动
    }:将光标移动到当前段落的末尾
    {:将光标移动到当前段落的开头
    ):将光标移动到当前句子的末尾
    (:将光标移动到当前句子的开头
    ^:移动到当前行的第一个非空字符
    $:移动到当前行末尾
    :n:移动到行n

    常用的vim编辑命令
    x:删除光标当前位置的字符
    dd:删除光标所在的整行文本
    d$:删除当前光标位置到该行结束的所有文本。
    dw:从当前光标位置向后删除单词
    J:将下一行文本内容合并到本行行尾
    A:在当前光标所在行的后面附加内容

    vim编辑器的搜索和替换命令
    /word:自当前光标位置向下搜索名字为word的字符串
    ?word:自当前光标位置向上搜索名字为word的字符串
    :n1,n2s/word1/word2/g:在n1行与n2行之间搜索名字为word1的字符串,并将其替换为word2
    :1,$s/word1/word2/g:在第一行和最后一行之间搜索名字为word1的字符串,并将其替换为word2


    
   

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值