Linux常用命令

  • A+
所属分类:linux技术
摘要

(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。


1. ls

(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

语法:

ls [-alrtAFR] [name...] 
  • -a 显示所有文件及目录 (. 开头的文件不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • -R 若目录下有文件,则以下之文件亦皆依序列出

实例:

列出根目录()下的所有目录:

# ls / bin               dev   lib         media  net   root     srv  upload  www boot              etc   lib64       misc   opt   sbin     sys  usr home  lost+found  mnt    proc  selinux  tmp  var 

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

ls -ltr s* 

将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin 

列出目前工作目录下所有文件及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

ls -AF 

2. cd

(英文全拼:change directory)命令用于切换当前工作目录。

语法:

cd [dirName] 

dirName:要切换的目标目录

其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。

实例:

跳到 /usr/bin/ :

cd /usr/bin 

跳到自己的 home 目录 :

cd ~ 

跳到目前目录的上上两层 :

cd ../.. 

3. pwd

(英文全拼:print work directory) 命令用于显示工作目录。

执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。

语法:

pwd [--help][--version] 
  • --help 在线帮助
  • --version 显示版本信息

实例:

查看当前所在目录:

# pwd /root/test           #输出结果 

4. mkdir

(英文全拼:make directory)命令用于创建目录

语法:

mkdir [-p] dirName 
  • -p 确保目录名称存在,不存在的就建一个

实例:

在工作目录下,建立一个名为 runoob 的子目录 :

mkdir runoob 

在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。

若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误)

mkdir -p runoob2/test 

5. rm

(英文全拼:remove)命令用于删除一个文件或者目录。

文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

语法:

rm [options] name... 
  • -i 删除前逐一询问确认
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认
  • -r 将目录及以下之档案亦逐一删除

实例:

删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

# rm  test.txt  rm:是否删除 一般文件 "test.txt"? y   # rm  homework   rm: 无法删除目录"homework": 是一个目录   # rm  -r  homework   rm:是否删除 目录 "homework"? y  

删除当前目录下的所有文件及目录,命令行为:

rm  -r  *  

6. rmdir

(英文全拼:remove directory)命令删除空的目录。

语法:

rmdir [-p] dirName 
  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

实例:

将工作目录下,名为 AAA 的子目录删除 :

rmdir AAA 

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

rmdir -p BBB/Test 

7. mv

(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法:

mv [options] source dest mv [options] source... directory 
  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

实例:

将源文件名 source_file 改为目标文件名 dest_file

mv source_file(文件) dest_file(文件) 

将文件 source_file 移动到目标目录 dest_directory 中

mv source_file(文件) dest_directory(目录) 

目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory

mv source_directory(目录) dest_directory(目录) 

以下会出错:

mv source_directory(目录) dest_file(文件) 

8. cp

(英文全拼:copy file)命令主要用于复制文件或目录。

语法:

cp [options] source dest 或 cp [options] source... directory 
  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

实例:

使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

cp –r test/ newtest 

9. cat

(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

语法:

cat [-AbeEnstTuv] [--help] [--version] fileName 

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2 

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3 

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt 

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE 

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0 

10. which

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

语法:

which [文件...] 
  • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
  • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
  • -w  指定输出时栏位的宽度。
  • -V  显示版本信息。

实例:

使用指令"which"查看指令"bash"的绝对路径,输入如下命令:

$ which bash 

上面的指令执行后,输出信息如下所示:

/bin/bash                   #bash可执行程序的绝对路径