#### 命令的执行方式均以终端执行,终端可以理解为linux命令的执行工具。 首先打开终端,在桌面右键--在终端打开: ![](https://img.kancloud.cn/8f/76/8f76adf2767ab9e7a7c2c05716cd7630_788x541.png =800x) #### 后面我们的大部分对于服务器操作将在这里进行,打开终端的方式: ![](https://img.kancloud.cn/16/73/1673fa719150a7e077270ce5ab84e49e_724x310.png =800x) ### 下面介绍Linux常用命令 ***** # ls命令 ls 命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。   默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。   \*\*语法格式:\*\*ls \[选项\] \[文件\] **常用参数:** \-a显示所有文件及目录 (包括以“.”开头的隐藏文件)-l使用长格式列出文件及目录信息-r将文件以相反次序显示(默认依英文字母次序)-t根据最后的修改时间排序-A同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)-S根据文件大小排序-R递归列出所有子目录 **参考实例** 列出所有文件(包括隐藏文件): ~~~ [root@linuxcool ~]# ls -a ~~~ 列出文件的详细信息: ~~~ [root@linuxcool ~]# ls -l ~~~ 列出根目录(/)下的所有目录: ~~~ [root@linuxcool ~]# ls / ~~~ ***** # cd命令 – 切换目录 cd命令是”change directory”中单词的首字母缩写,其英文释义是改变目录,所以该命令的功能是从当前目录切换到指定目录。 其中目录的路径可分为绝对路径和相对路径。若目录名称省略,则切换至使用者的用户目录(也就是刚登录时所在的目录)。 另外,“~”也表示为用户目录的意思,“.”则是表示目前所在的目录,“..”则表示当前目录位置的上一级目录。 \*\*语法格式:\*\*cd \[参数\] \[目录名\] **常用参数:** \-P如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录-L如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录--仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录~切换至当前用户目录..切换至当前目录位置的上一级目录 **参考实例** 将当前工作目录切换到dir目录,并使用pwd命令查看当前目录: ~~~ [root@linuxcool ~]# cd dir [root@linuxcool dir]# pwd /root/dir ~~~ 使用“cd ~ ”和“cd .. ”命令进行目录的切换操作,并使用pwd命令查看当前目录: 注意:使用“cd ~ ”命令可以直接切换到当前用户目录,而“cd .. ”是切换到上一级目录。 ~~~ [root@linuxcool dir]# pwd /root/dir [root@linuxcool dir]# cd ~ [root@linuxcool ~]# pwd /root ~~~ ~~~ [root@linuxcool dir]# pwd /root/dir [root@linuxcool dir]# cd .. [root@linuxcool dir]# pwd /root ~~~ 使用“cd ../..”命令返回上两级目录: ~~~ [root@linuxcool dir_2]# pwd /root/dir/dir_1/dir_2 [root@linuxcool dir_2]# cd ../.. [root@linuxcool dir]# pwd /root/dir ~~~ 使用“cd”命令返回当前用户目录。“cd -- ” 命令返回上一次所在目录: ~~~ [root@linuxcool dir_2]# pwd /root/dir/dir_1/dir_2 [root@linuxcool dir_2]# cd [root@linuxcool ~]# pwd /root [root@linuxcool ~]# cd - /root/dir/dir_1/dir_2 [root@linuxcool dir_2]# pwd /root/dir/dir_1/dir_2 ~~~ ***** # pwd命令 – 显示当前路径 pwd命令是“print working directory”中每个单词的首字母缩写,其功能正如所示单词一样,为打印工作目录,即显示当前工作目录的绝对路径。 在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,我们可以使用pwd命令快速查看当前我们所在的目录路径。 \*\*语法格式:\*\*pwd \[参数\] **常用参数:** \-L显示逻辑路径 **参考实例** 查看当前工作目录路径: ~~~ [root@linuxcool ~]# pwd /home/linuxcool ~~~ ***** # mkdir命令 – 创建目录 mkdir命令是“make directories”的缩写,用来创建目录。 注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢? \*\*语法格式 :\*\*mkdir \[参数\] \[目录\] **常用参数:** \-p递归创建多级目录-m建立目录的同时设置目录的权限-z设置安全上下文-v显示目录的创建过程 **参考实例** 在工作目录下,建立一个名为 dir 的子目录: ~~~ [root@linuxcool ~]# mkdir dir ~~~ 在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问 ~~~ [root@linuxcool ~]# mkdir -m 700 /usr/linuxcool/dir ***** ~~~ 同时创建子目录dir1,dir2,dir3: ~~~ [root@linuxcool ~]# mkdir dir1 dir2 dir3 ~~~ 递归创建目录: ~~~ [root@linuxcool ~]# mkdir -p linuxcool/dir ~~~ ***** # touch命令 – 创建文件 touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。 touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。 注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。 \*\*语法格式:\*\*touch \[参数\] \[文件\] **常用参数:** \-a改变档案的读取时间记录-m改变档案的修改时间记录-r使用参考档的时间记录,与 --file 的效果一样-c不创建新文件-d设定时间与日期,可以使用各种不同的格式-t设定档案的时间记录,格式与 date 命令相同--no-create不创建新文件--help显示帮助信息--version列出版本讯息 **参考实例** 创建空文件: ~~~ [root@linuxcool ~]# touch file.txt ~~~ 批量创建文件: ~~~ [root@linuxcool ~]# touch file{1..5}.txt [root@linuxcool ~]# ls file1.txt file2.txt file3.txt file4.txt file5.txt ~~~ ***** # cp命令 – 复制文件或目录 cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。 cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。 \*\*语法格式:\*\*cp \[参数\] \[文件\] **常用参数:** \-f若目标文件已存在,则会直接覆盖原文件-i若目标文件已存在,则会询问是否覆盖-p保留源文件或目录的所有属性-r递归复制文件和目录-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录-l对源文件建立硬连接,而非复制文件-s对源文件建立符号连接,而非复制文件-b覆盖已存在的文件目标前将目标文件备份-v详细显示cp命令执行的操作过程-a等价于“dpr”选项 **参考实例** 复制目录: ~~~ [root@linuxcool ~]# cp -R dir1 dir2/ ~~~ 将文件test1改名为test2: ~~~ [root@linuxcool ~]# cp -f test1 test2 ~~~ 复制多个文件: ~~~ [root@linuxcool ~]# cp -r file1 file2 file3 dir ~~~ 交互式地将目录 /usr/linuxcool 中的所有.c文件复制到目录 dir 中: ~~~ [root@linuxcool ~]# cp -r /usr/linuxcool/*.c dir ~~~ ***** # mv命令 – 移动或改名文件 mv命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。 这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv与cp的结果不同。mv命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而cp命令是对文件进行复制操作,文件个数是有增加的。 \*\*语法格式:\*\*mv \[参数\] **常用参数:** \-i若存在同名文件,则向用户询问是否覆盖-f覆盖已有文件时,不进行任何提示-b当文件存在时,覆盖前为其创建一个备份-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 **参考实例** 将文件file\_1重命名为file\_2: ~~~ [root@linuxcool ~]# mv file_1 file_2 ~~~ 将文件file移动到目录dir中 : ~~~ [root@linuxcool ~]# mv file /dir ~~~ 将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名): ~~~ [root@linuxcool ~]# mv /dir1 /dir2 ~~~ 将目录dir1下的文件移动到当前目录下: ~~~ [root@linuxcool ~]# mv /dir1/* . ~~~ ***** # cat命令 – 在终端设备上显示文件内容 Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢? 注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧! \*\*语法格式:\*\*cat \[参数\] \[文件\] **常用参数:** \-n显示行数(空行也编号)-s显示行数(多个空行算一个编号)-b显示行数(空行不编号)-E每行结束处显示$符号-T将TAB字符显示为 ^I符号-v使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外-e等价于”-vE”组合-t等价于”-vT”组合-A等价于 -vET组合--help显示帮助信息--version显示版本信息 **参考实例** 查看文件的内容: ~~~ [root@linuxcool ~]# cat filename.txt ~~~ 查看文件的内容,并显示行数编号: ~~~ [root@linuxcool ~]# cat -n filename.txt ~~~ 查看文件的内容,并添加行数编号后输出到另外一个文件中: ~~~ [root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log ~~~ 清空文件的内容: ~~~ [root@linuxcool ~]# cat /dev/null > /root/filename.txt ~~~ 持续写入文件内容,碰到EOF符后结束并保存: ~~~ [root@linuxcool ~]# cat > filename.txt <<EOF > Hello, World > Linux! > EOF ~~~ 将软盘设备制作成镜像文件: ~~~ [root@linuxcool ~]# cat /dev/fd0 > fdisk.iso ~~~ ***** # rm命令 – 移除文件或目录 rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm \* -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。 \*\*语法格式:\*\*rm \[参数\] \[文件\] **常用参数:** \-f忽略不存在的文件,不会出现警告信息-i删除前会询问用户是否操作-r/R递归删除-v显示指令的详细执行过程 **参考实例** 删除前逐一询问确认: ~~~ [root@linuxcool ~]# rm -i test.txt.bz2 rm: remove regular file `test.txt.bz2'? ~~~ 直接删除,不会有任何提示: ~~~ [root@linuxcool ~]# rm -f test.txt.bz2 ~~~ 递归删除目录及目录下所有文件: ~~~ [root@linuxcool ~]# mkdir /data/log [root@linuxcool ~]# rm -rf /data/log ~~~ 删除当前目录下所有文件: ~~~ [root@linuxcool ~]# rm -rf * ~~~ ***** <blockquote class='danger'>常用的命令先介绍到这里,后面我们会用到更多操作服务器的命令,至此,大家先做一个了解,并在终端中实际操作一下,看一下命令的执行结果吧!</blockquote>