Linux常用命令

最近更新于2021/07/24.

 

pwd

输出当前工作目录,通常设置在终端的输入提示符中显示当前工作目录。

ls

ls用于列出目录的文件和子目录。假设当前工作目录下有文件hello.c.settings(此文件名以点号开头),执行ls后,默认输入当前目录下的文件和子目录:

$ ls
hello.c

文件名以点号.开头的文件默认隐藏,不会被列出,可以指定选项-a列出所有子目录和文件。

$ ls -a
. .. .settings hello.c

在Linux中,所有的目录下默认有两个目录:当前目录(表示自己,用一个点.表示)和当前目录的父目录(用两个点..表示), 指定-a也会将二者输出,若不想输出这两个目录,可以指定选项-A. 例如:

$ ls -A
.settings hello.c

也可以在ls后指定输出目录,可以同时指定多个输出目录。指定目录的方式有两种:绝对路径和相对路径。绝对路径从根目录(根目录用斜线/表示)开始,例如/usr/bin; 相对路径相对于当前工作路径,例如:

$ ls ../hello  # 列出当前目录的父目录下名为hello的目录
$ ls ./include  # 列出当前目录下名为include的子目录。此处的./可以忽略,写作ls include, 当未指定路径名时,默认为当前工作目录

指定选项-l以长格式输出,可以得到更为详细的信息。例如:

$ ls -l
-rwxrw-r-- 1 alice alice 72 Jul 24 12:00 hello.c

在输出中,开头的连字符-表示这是一个普通文件,若为d则表示一个目录;随后的九位rwxrw-r--分别表示文件所有者、文件所在组和其它人的访问权限。权限用3个位表示,r表示可以读,w表示可以写,x表示可执行。例如,上述输出表示对于文件hello.c, 文件所有者的访问权限位rwx, 可以读、写和执行文件;文件所在组的访问权限位为rw-, 可以读、写文件,但不能执行此文件;其它人的访问权限为r--, 表示只可以读文件,不可以写、执行此文件。随后的输出alice alice分别表示文件所有者和文件所在组;72表示文件的大小为72B. 随后为文件最后修改时间以及文件名。

cd

cd可以更改工作路径,可以指定绝对路径和相对路径。例如:

$ cd /home/alice  # 切换到目录/home/alice
$ cd ./include  # 切换到当前目录下名为include的子目录中

cd命令有如下简写形式:

$ cd  # 切换到用户的主目录,通常是/home/用户名
$ cd -  # 切换到上一个工作目录
$ cd ~username  # 切换到用户username的主目录,通常是/home/username

mkdir

创建目录,可以指定多个目录,用法为:

$ mkdir  目录1  目录2  ...

cp

复制文件和目录。假设当前目录下有两个子目录foobar, 其中目录foo下有文件hello.c, 若要将此文件复制到目录bar下,执行如下命令:

$ cp ./foo/hello.c ./bar

cp的用法有如下两种:

$ cp [item1] [item2]  # 将[item1]复制到[item2], 其中item可以是文件或目录
$ cp [item1] [item2] ... [目录]  # 将[item1], [item2], ... 复制到[目录]下

指定参数-i在覆盖文件前提示用户确认,例如若再次执行上述复制命令,由于此时目录bar下已存在文件hello.c, 因此此文件会被覆盖,指定-i会在覆盖前提示用户确认,例如:

$ cp ./foo/hello.c /bar -i
cp: overwrite './bar/hello.c'?

指定参数-r递归复制,例如将目录foo在当前工作目录下复制一份,并命名为foo2, 可以运行如下命令:

$ cp ./foo ./foo2 -r

指定参数-u只复制目标目录不存在的文件或是比目标目录已存在文件更新的文件。

rm

删除文件或目录,可以指定多个文件和目录。指定参数-i在删除前提示用户确认;指定参数-r递归删除。例如:

$ rm ./hello.c  # 删除当前目录下名为hello.c的文件
$ rm -r ./foo  # 递归删除当前目录下的子目录foo

man

显示命令的手册页,用法为:

$ man [节数] [命令]

man命令显示的手册页被分为若干节,各节的含义如下:

  1. 用户命令

  2. 系统调用的编程接口

  3. C库函数的编程接口

  4. 特殊文件,例如设备节点或驱动程序

  5. 文件格式

  6. 游戏娱乐,例如屏幕保护程序

  7. 杂项

  8. 系统管理程序

在不同的节可能存在相同名称的命令。例如有一个名为printf的用户命令,位于第1节中;在C库函数中也有一个名为printf的函数,位于节3中;此时需要指定节数,例如:

$ man 3 printf  # 查找C库函数printf的手册页

若不指定节数,则显示节数小的命令的手册页。

which

显示可执行文件所在位置。例如:

$ which man
/usr/bin/man
posted @ 2021-07-24 13:25  overxus  阅读(41)  评论(0)    收藏  举报