• [持续更新]学习并记忆 Linux 下的常用的命令


    写在前面:

    本文仅仅介绍一些常用指令的常用方法,如果想要了解指令的全部信息,推荐自己在终端中输入 man  +  'command_name'或 'command_name' + --help 自行阅读。或者,你还可以直接去官网查看最详细的介绍

    为了方便理解和记忆命令,本文写出了其英文缩写对应的英文意义.

    * 文件、目录管理*

    1. ls ( list  directory contents,列出文件夹的内容信息)

     格式:

    ls [OPTION]... [FILE]...

      常用参数搭配:

             ls -a 列出目录所有文件,包含以.开始的隐藏文件
    
             ls -A 列出除.及..的其它文件
    
             ls -r 反序排列
    
             ls -t 以文件修改时间排序
    
             ls -S 以文件大小排序
    
             ls -h 以易读大小显示
    
             ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

    2.cd命令(change directory,改变所处文件夹位置)

    格式:

    cd [OPTION]... [FILE]...

    常用参数搭配:

     

            cd / 打开根目录
    
            cd ./ 打开当前目录
    
            cd ../ 打开父目录
    
            cd  ~ 打开用户目录(也即 /home/usrname)
    
            cd !$ 将上个命令的参数作为cd参数使用    

    3.pwd命令   (print the name of current/working directory,显示当前文件夹的绝对路径)

    格式:

    pwd [OPTION]... 

    常用参数搭配:

            pwd 查看当前路径
    
            pwd -P    查看软链接的实际路径

    4.mkdir命令  (make new directory , 在当前所处的目录下,新建子文件夹)

    格式:

    mkdir [OPTION]... DIRECTORY...

    常见参数搭配:

            -m 对新建目录设置存取权限,也可以用chmod命令设置
    
            -p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录

    示例:

    5.rmdir命令  ( remove an empty directory,删除当前所处目录下的一个空的子文件夹)

    格式:

    rmdir [OPTION]... DIRECTORY...

    常见参数搭配: 

            rmdir [directory_name]  删除一个空文件夹
    
            rmdir -p  [path]  递归删除一条空目录
    
            rmdir -v  ... 显示删除的信息(可搭配 -p 使用)
    
            [注意,对于rmdir命令,如果删除的目录中包括文件,则会报错]
    
            另外,OPTION 中可以选择一个参数叫作 --ignore--fail-on-non-empty
            就是在尝试删除非空目录的时候不会报错,但是依然不能删掉.    

    示例:

    6.rm 命令 (remove  file  or directory,删除文件或文件夹 )

    rm命令比rmdir命令更加强大(因此,这个命令也十分危险).它不仅可以删除目录,还可以删除文件.甚至,即使是非空目录也可以直接删除.

    在使用rm时,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

    格式:

    rm [OPTION]... [FILE]...

    常见参数搭配:

         -f, --force    忽略不存在的文件,从不给出提示。
    
          -i, --interactive 进行交互式删除
    
          -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
    
          -v, --verbose    详细显示进行的步骤
    
           --help     显示此帮助信息并退出
    
           --version  输出版本信息并退出

     

    7.touch 命令 (change file timestamps    or   make empty file,改变时间戳或创建空文件)

    格式:

    touch [OPTION]... FILE...

    常见参数搭配:

        -a   (change only the access time)--time=atime或--time=access或--time=use  只更改存取时间。
    
        -c   或--no-create  不建立任何文档。
    
        -d  使用指定的日期时间,而非现在的时间。
    
        -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
    
        -m   或--time=mtime或--time=modify  只更改变动时间。
    
        -r  (reference)把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
    
        -t  使用指定的日期时间,而非现在的时间。

    8.file命令  (determine file type,确认文件类型)

    格式:

    file [OPTION]... FILE...

    常见参数搭配:

        -b:(brief,简明扼要)列出辨识结果时,不显示文件名称;
    
        -c:(complie,编译)详细显示指令执行过程,便于排错或分析程序执行的情形;
    
        -v:(version,版本)显示版本信息;
        
        -z:尝试去解读压缩文件的内容。

     9.find   (search for files in a directory hierarchy,在文件夹中查找文件)

    file 的用法很复杂,同时功能也很强大.其中最为常用的功能为 find  -name   '文件(夹)名' /    find  -user  '文件属主'

    格式:

    find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

    常见参数搭配:

        -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
    
        -amin [n] : 在过去 n 分钟内被读取过
    
        -anewer [file] : 比文件 file 更晚被读取过的文件
    
        -atime [n] : 在过去n天内被读取过的文件
    
        -cmin [n] : 在过去 n 分钟内被修改过
    
        -cnewer [file] :比文件 file 更新的文件
    
        -ctime [n] : 在过去n天内被修改过的文件
    
        -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
    
        -path 和 ipath  [path]: 路径名称符合 path 的文件,ipath 会忽略大小写
      
        -name 和-iname  [name]: 文件名称符合 name 的文件。iname 会忽略大小写
    
        -size [n] : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

        -type [c] : 文件类型是 c 的文件

    10.cat命令 (concatenate files and print on the standard output,连接文件并在标准输出上打印) 

    格式:

    cat [OPTION] file

    常见参数搭配:

        cat /etc/fstab  # 显示文件/etc/fsab的内容
        cat texta textb # 分别显示文本文件texta和textb的内容

    11.more、less 命令(分页显示文本文件的内容)

    格式:

    more [OPTION] file

    常用参数搭配:

        more demo.c #分页显示demo.c的内容

    more和less略有区别,但不重要。

     

    12.head、tail命令(显示文件前(后)若干行)

    格式:

    head(tail)  [OPTION] file

    常见参数搭配:

    head -20 /etc/services #显示文件services的前20行

    13.ln命令(link,建立硬链接或软连接)

    格式:

    ln [OPTION] file newfile

    常见参数搭配:

        ln sfile dfile #对sfile建立硬链接文件dfile
        ln -s sfile dfile #对文件sfile建立软链接文件dfile

    补充说明:硬链接即所谓'拷贝,副本',软链接即所谓'Windows下的快捷方式,MacOS下的替身'

     

    * 用户和用户组管理 *

    前言:

    Linux是多用户操作系统,Linux可在系统中建立多个用户,有不同用户分享系统资源,每个用户具有不同的资源访问权限,不同用户间既有共享资源,又有独享资源。Linux通过用户组来管理相关用户。

    Linux用户的分类:(1)super usr 超级用户 (2)virtual usr 虚拟用户 (3)genneral usr普通用户

    再Linux系统中,所有用户都有一个唯一的表示UID,超级用户的UID = 0,虚拟用户UID为1~499间 , 普通用户UID为 500~60000之间。

    值得一提的是虚拟用户是一种权限受限的用户,为了满足系统进程对文件资源访问控制而建立,虚拟用户不能用来登录,例如bin、daemon、adm和lp等都是虚拟用户

    用户组的管理:用户组是由若干相关的用户构成的集合,属于该组的用户对某些文件具有相同的存取权限. 一个用户可以属于多个用户组,一个用户组可以包含多个用户.多个用户组中,必须有一个是主用户组,其余为附加用户组.创建文件的用户成为该文件的属主用户,该用户的主用户组称为该文件的属组.每一个文件的属主用户和属主是唯一的.

    1.groupadd / groupdel(add a new usr group,创建新的用户组 / delete an usr group,删除一个用户组)

    格式(这里以groupadd为例):

    group group_name

    常见参数搭配:

        groupadd  my_new_group # 创建一个用户组,组名为my_new_group
        groupdel  test_group #删除名为test_group的用户组

    2.useradd(add a new user,创建一个新用户)

    格式:

    useradd [OPTION] name

    常见参数搭配:

        useradd usr1 #创建一个新用户,用户名为usr1
        useradd -u 321 -g grp1 usr2  #创建用户usr2,指定其UID = 321,grp1为其用户组
        useradd -g g1 -G g2,g3 usr1 #创建用户usr1,其主用户组为g1,附加用户组为g2和g3
        groups usr1 #显示用户所属的用户组

    3.passwd命令(为用户添加密码)

    格式:

    passwd username

    刚刚新建的用户,可以直接设定密码.如果已经有密码,必须先输入原密码

     

    用户属性的修改

    1.usermod命令(修改用户属性)

    格式:

    usermod [OPTION] username

    常见参数搭配:

     

        usermod -g grp2 usr1 #将用户usr1的主用户组改为grp2
        usermod -s /bin/bash usr1 #将用户usr1的登录Shell改为bash

    2.chown命令(改变文件的所属用户和组)

    格式:

    chown [usr] : [usr group] file

    常见参数搭配:

        chown usr1 myfile #将文件myfile的属主用户改为usr1
        chown :grp1 myfile #将文件myfile的所属用户组改为grp1
        chown usr1:grp1 myfile #将文件myfile的属主用户改为usr1,所属用户组改为grp1

    用户管理相关配置文件

    在进行用户管理的过程中,所有用户、用户组和密码等信息都存储在/etc的相关文本文件中.

    下面列出一些与用户管理有关的有关配置文件.

     * 文件的权限管理 *

    1.文件类型:

    2.权限的种类:

    Linux系统中定义了三种权限类型:  读(r) 、写(w) 、执行(x)

    3.权限的作用:

     4.权限的显示格式:

     5.chmod命令(change mode,权限的修改)

    进程相关命令

     

    ps:

    存储与备份

    1.tar命令

      

    ---- suffer now and live the rest of your life as a champion ----
  • 相关阅读:
    开始使用 UIAlertController 吧
    SegmentControl 那些令人烦恼的事儿
    UIWindow 实现遮盖导航条的蒙版
    C++语言-09-多任务
    C++语言-08-命名空间
    使用 UICollectionView 实现日历签到功能
    C++语言-07-异常处理和信号处理
    Django模板(三)
    数据可视化包
    数据分析核心包
  • 原文地址:https://www.cnblogs.com/popodynasty/p/12493705.html
Copyright © 2020-2023  润新知