9 常用命令

本章将介绍在使用 方德桌面操作系统常用的命令,本文档所有命令将在终端(Terminal)中使用,终端是人机交互的接口,此后命令都将在终端执行。
方德桌面终端打开方式:单击系统主菜单,选择“系统工具”—>“终端”,即可以打开终端。终端界面如下图所示:


 

9.1 文件与目录管理
9.2 文件与目录搜索
9.3 文件系统管理
9.4 系统进程管理
9.5 网络管理
9.6 软件管理

9.1 文件与目录管理

(1)ls 列出目录内容(List)

     ls 命令使用频率非常高,这里只最常用的几个选项,想要更大限度发挥 ls 功能,请查看其帮助页 ls --help
           ls [选项] 文件或目录 ...
           ls 命令常用选项:
                -l              长列表格式输出文件属性
                -R              递归列出,会遍历整个目录及其子目录
               --color=[WHEN]   根据输出文件的性质(文件或目录类型等),给项目着不同的颜色。
                                   WHEN 的值可以是'always' (默认), 'never', 'auto',
                                   意义分别为:总是,永不,自动
                -d              列出目录自身,而不是目录下的内容
                -h              人性化输出,如文件大小以 K,M,G 的方式标出
           用法示例:
                ls              列出当前目录的内容
                ls -Rl /home     列出 /tmp 目录及其子目录下所有文件的详细信息

(2)cd 改变工作目录(Change working Direcotry)

	cd [目录路径]  #如果省略 目录路径,则将进入到用户家目录。
           用法示例:
                cd /tmp
                cd ~            #进入用户家目录,在 bash shell 中,符号"~"表示用户家目录
                cd              #省略路径,也进入用户家目录

(3)touch 创建文本文件

 	如果要创建的文件已经存在,则更新文件访问及修改时间为当前时间
           touch [选项] 文件名1 ...
           用法示例:
                touch file1     # 若 file1 文件未存在,则建立名为 file1 的文本文件
                                # 否则更新其访问时间与修改时间

(4)cat 查看文本文件内容(Concatenate)

	如果有多个文件,则依次输出到标准输出,相当于将数个文件的内容连接
           cat [选项] 文件1 ...
           cat 常用选项:
                -n      显示行号
           用法举例:
                cat /etc/issue      #输出文件 /etc/issue 的内容到标准输出

(5)cp 文件与目录复制(Copy)

	cp [选项] 源文件 目标文件
           cp 命令常用选项:
                -r      递归复制,即复制整个目录
                -v      输出复制过程信息
                -i      若目标文件已经存在,默认操作将覆盖目标文件,此选项则请求用户确认
                -n      不复制已经存在的文件
                -u      只复制比目标文件更新的文件
           用法示例:
                cp testfile testfile1       #复制当前目录下 testfile 文件成 testfile1
                cp -r dir1  down      	    #复制当前目录下 dir1 目录 到 down 目录

(6)mv 文件移动与重命名(Move)

	mv 命令与文件复制命令 cp 相似,不同处是操作完成后源文件将被删除;
	需要留意:mv 命令没有递归选项 -r,移动目录跟移动普通文件没有区别
           mv [选项] 源文件 目标文件
           mv 命令常用选项:
                -i      默认情况下, mv 将覆盖掉源文件,此选项则请求用户确认
                -n      不移动已存在文件
                -u      只移动比目标文件更新的文件
                -v      显示详细移动过程
           用法示例:
                mv -vi file1 file2   #交互式移动文件。该命令同目录下移动,实际是重命名文件

(7)mkdir 创建目录(Make Directory)

	如果要创建的目录已经存在,则什么也不做
           mkdir [选项] 目录名1 ...
           mkdir 命令常用选项:
                -p|--parents    必要时,建立父目录
                -m              设置所建立目录的权限
                -v              输出当前操作详细的信息
           用法举例:
                mkdir -pv a/b/c   #将按 a/b/c 层次结构建立 a b c 共 3 个目录, 因使用了 -p 选项,
                                  #所以在 a 或 b 目录不存在时,会自动一起建立。如果不使用 -p,
                                  #则父目录不存在时会报错
                mkdir a b c       #在当前目录建立 a b c 三个目录

(8)rm 删除文件或目录(Remove)

	rm [选项] 文件或目录 ...
           rm 命令常用选项:
                -f      强制模式,永不提示,也不要求用户确认
                -i      交互模式,删除文件前请求用户确认
                -r      递归删除,即删除整个目录
                -v      输出当前操作的详细信息
           用法举例:
                rm -vi  file1        #删除文件 file1
                rm -vir dir1        #删除目录 dir1

(9)rmdir 删除空目录(Remove Rirecotry)

	如果是非空目录,则报错,并不删除目录
           rmdir [选项]  空目录 ...
           rmdir 常用命令选项:
                -p|--parents    如果删除目录后,父目录也成为空目录,则一并删除之
                -v              输出当前操作详细的信息
           用法举例:
                rmdir -pv a/b/c  #删除空目录 c,之后若 b 目录也为空,则删除 b 目录,...

9.2 文件与目录搜索

(1)find 搜索文件

	find 命令非常强大,支持正规表达式(Regular Expression)
           find 命令常用写法:
                find [选项] 路径 [其它选项]
           find 命令常用选项:
                -P              不跟随符号链接,即无视符号链接指向的文件
                -L              跟随符号链接
           find 命令常用的其它选项:
                -type <file_type>       查找指定的文件类型,可以是 f(普通文件),d(目录文件),
                                          c(字符设备文件),...
                -name <file_name>       查找特定文件,文件名大小写敏感
                -iname <file_name>      与 -name 相同,不过忽略大小写
                -maxdepth level         指定最多搜索的目录级别(目录层数),level 为具体的正数
                -mindepth level         指定至少要搜索的目录级别,level 为具体的正的数字
                -size [-/+] <file_size>
		限定搜索文件的大小,file_size为具体数字,单位可以是c w b k M G。
		数字前导的"-"或"+"号表示文件大小,要“小于”或“大于”此数值,
		省略表示文件大小严格为此值。
                -regex pattern   使用正规表达式搜索文件,pattern 为文件名表达式
                -regextype type  限定 find 解析正规表达式的标准,type 可选值为 emacs(默认),
                                 posix-awk, posix-egrep, posix-extended
                -exec 命令 \;    执行命令。-exec 之后的内容都解析成命令的一部分,直至遇到分号 ";",
                                 因为分号在 Bash Shell 中有特殊意义,故使用斜线 "\" 转义
           用法示例:
               find . -type f			  #找出当前目录中所有文件
               find ~ -name .bashrc		  #在用户目录中查找名为 ".bashrc" 的文件
               find /usr -type f -iname "*conf*"
		   #在目录/usr中忽略大小写找出文件名中含有 "conf" 的文件
               find /usr -size +100K -size -2M -regextype posix-egrep -regex ".*png$"
		   # 在/usr 目录中,找出大小在 2kB 到 2MB 之间,并且文件名以 png 结尾的文件。
               find ~ -type d -size +40M -exec file {} \;
		   #找出用户目录中 40MB 以上的文件,并使用 file 命令查探其类型。

9.3 文件系统管理

(1)df 列出文件系统使用情况

	df [选项] [文件] ...
           df 命令常用选项:
                -a              输出所有文件系统
                -h              人性化输出信息
                -t <fs_type>      只输出 fs_type 限定的文件系统类型
                -T              输出文件系统类型
           用法示例:
                df -ht ext4     #输出类型为 ext4 的文件系统
                df -T		#输出文件系统类型
                df -h /dev/sda1 #输出第一块硬盘第一个分区的使用情况

(2)fdisk 磁盘分区管理

	该命令需要特权用户权限
	fdisk [选项] 磁盘
	  fdisk 命令常用选项:
 	   -v  打印 fdisk 的版本信息并退出
	   -l  列出指定设备的分区表信息并退出;如果没有给出设备,则使用那些在/proc/partitions提到的
	   -u  以扇区数而不是以柱面数的形式显示分区表中各分区的信息
	   -s  将分区的 大小 (单位为块)信息输出到标准输出
	 用法示例:
	   fdisk -l	#输出当前系统中的所有硬盘的详细分区情况
	   fdisk /dev/sda	#进入硬盘分割模式
		1.输入 m 显示所有命令列示
		2.输入 p 显示硬盘分割情形。
    	3. 输入 a 设定硬盘启动区。
    	4. 输入 n 设定新的硬盘分割区。
    	5. 输入 t 改变硬盘分割区属性。
    	6. 输入 d 删除硬盘分割区属性。
    	7. 输入 q 结束不存入硬盘分割区属性。
    	8. 输入 w 结束并写入硬盘分割区属性

(3)mkfs 格式化磁盘

	该命令需要特权用户权限
	mkfs [选项] 分区
	   mkfs 命令常用选项:
		-t		指定格式化文件系统类型
		-c		在格式化文件系统之前检查该分区是否有坏块
		block		指定block的大小
	   用法示例:
		 mkfs -t ext3  /dev/sda6	#以ext3文件类型格式化/dev/sda6分区

(4)du 对文件/目录计算大小

	du [选项]  目录或文件 ...
           du 命令常用选项:
                -h              人性化输出,文件大小以 K,M,G 的方式标示
                -s              输出各个目录/文件的总的占用空间大小
           用法示例:
                du -h  ~        # 输出用户家目录下所有文件及子目录所占用的空间大小

(5)mount 挂载文件系统

	该命令需要特权用户权限
	mount [选项] 设备 目标目录
           mount 命令常用选项:
                -t              指定文件系统类型,如 ext3, ext4 等
                -B              挂载目录
           用法示例:
                mount                             # 列出所有已经挂载的文件系统
                mount -t ext4 /dev/sda6 /mnt	  #挂载第一块硬盘第六个分区到 /mnt 目录下
                mount -B /media /mnt              # 这里将目录 /media 挂载到 /mnt 目录下

(6)umount 卸载文件系统

	该命令需要特权用户权限
	 umount [选项] 设备或目录 ...
           umount 命令常用选项:
                -f              强制卸载目录
           用法示例:
                umount  /dev/sda6                 # 卸载已经挂载的文件系统 /dev/sda6

9.4 系统进程管理

(1)top 实时显示进程列表

	top 命令一旦运行,按字母“q”键退出。
           top [选项]
           top 命令常用选项:
                -p pidlist          只显示进程号位于为 pidlist 中的进程动态
                -d num              更新间隔时间。num 为时间,单位为秒(s)
           用法示例:
                top -d 1 -p 1,2     # 只监视进程号为 1,2 的两个进程,且每秒更新一次信息

(2)ps 列出当前系统运行的进程

	ps 命令接受3种形式的选项,但是有选项是冲突的,有选项功能是同一的,增加了使用难度
	ps [选项]
           ps 命令常用选项:
                -e              显示所有进程
                -a              列出除会话首进程及未分配终端的进程外的所有进程
                -u userlist     以用户有效 ID 或用户名选择列出进程,ID 或名字位于 userlist 中
                -p pidlist      只列出指定进程号位于进程号列表 pidlist 的进程, 此选项可多次使用
               --ppid pidlist   只列出进程号位于 pidlist 中的进程的子进程
                 x              列出属于当前用户的进程
                -ax             列出所有进程。此处 'x' 与 'a' 联合使用,再组合其它选项时未必可用

           用法示例:
                ps aux oracle			#查询oracle进程
                ps --ppid 1			#列出父进程为 1 的进程

(3)ps 列出当前系统运行的进程

	pidof 根据进程名称查找进程号(pid)
	 pidof [选项] 进程名称
           pidof 命令常用选项:
                -s              pidof 会尽可能多地输出某名称的进程号,该选项限定只需要输出一个
           用法示例:
                pidof lightdm

(4)kill 向进程发送信号

	kill [选项] pidlist
           kill 命令常用选项:
                -l              列出信号名
                -s signal       指定要发送的信号,默认是 15
           用法示例:
                kill -s 9 <PID>  #PID为具体进程号(使用 pidof 命令查找),信号 9 是杀死进程

(5)killall 杀死进程

	killall 以名字方式来杀死进程
	killall [选项] 进程名称
	    killall 命令常用选项:
		-l		列出所有已知的信号名
		-v		报告信号是否成功发送
           用法示例:
                killall gedit  # 杀死所有名为 "gedit" 的进程

9.5 网络管理

(1)ifconfig 查看/设置网络(Interface Configure)

	该命令需要特权用户权限
	ifconfig 设置网络不会被保存,所有改动重启后消失。
               Linux 系统中网络接口可理解成网卡,有线网卡编号为: eth0 eth1 ...;无线网卡编号为:
               wlan0 wlan1 ...
	ifconfig [选项]  [网络接口]
           ifconfig 网络接口 [协议地址簇] 选项 地址 ...
           ifconfig 命令常用选项:
                -a              显示所有网络接口
                up              开启网络接口
                down            关闭网络接口
                netmask         设置掩码
                broadcast       设置广播地址
           用法示例:
            ifconfig -a             # 显示所有网络接口信息
            ifconfig eth0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.254
       以上命令设置有线网卡IP地址为192.168.1.10,子网掩码为255.255.255.0,广播地址192.168.1.254
            ifconfig eth0 down	#关闭eth0网卡
            ifconfig eht0 up        #开启eth0网卡

(2)ping 主机发送数据包

	用于网络联通测试。
	ping [选项] 主机
           ping 命令常用选项:
              -c      默认 ping 一直运行,直到用户按下 Ctrl+C 中止,该选项则限定 ping 的次数
           用法示例:
              ping -c 5 127.0.0.1 #测试本机 TCP/IP 协议是否正常,127.0.0.1 已被配置成代表本机

(3)netstat 查看网络状态(Network Status)

	netstat [选项]
           netstat 常用选项:
                -p      显示出进程信息
                -t      只列出与 tcp 协议有关的条目
                -u      只列出与 udp 协议有关的条目
                -n      端口,地址等使用数字而不是名称显示
                -a      显示所有
                -l      仅显示在监听状态的条目
           用法示例:
                netstat -atunp	# 显示出所有在使用 tcp 及 udp 协议的进程,及通信双方地址、端口号

9.6 软件管理

(1)dpkg 包管理工具

	该命令需要特权用户权限
	dpkg 用于管理系统的里deb包,可以对其安装、卸载、deb打包、deb解压等操作
	dpkg [选项] deb包
	   dpkg 常用命令选项:
		-i	安装软件包
		-r	删除软件包
		-P	删除包(包括配置文件)
		-l	列出当前系统已安装的包
	   用法示例:
		dpkg -i cheese-common_3.10.1-1sid1_all.deb	#视频摄像软件包的安装
		dpkg -r libmcrypt4				#软件包的卸载

(2)apt-get 管理工具

	该命令需要特权用户权限
	apt-get 主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
	apt-get [选项] 命令 pkg
	   apt-get 常用命令选项:
		update		重新获取软件包列表
		upgrade		进行更新
		install		安装新的软件包
		remove		移除软件包
		autoremove	自动移除全部不使用的软件包
	   用法示例:
		apt-get upgrade			#更新已安装的包
		apt-get install wine		#安装wine程序
		apt-get remove kolourPaint	#从系统中移除kolourPaint软件