[持续更新]学习并记忆 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 ----
原文地址:https://www.cnblogs.com/popodynasty/p/12493705.html