【无标题】

3 基本的bash shell命令

3.5 文件和目录列表

3.5.1 基本列表功能

ls
-F # 分别列出目录和文件
-R # 递归列出其下的子目录及其文件,或者使用tree命令
* # 任意数量的任意字符
? # 数量为1的任意字符
[ ] # 中括号范围内的任意1个字符
[! ] #非中括号范围内的任意1个字符
--time={atime,mtime,ctime} # 显示访问时间、修改时间、创建时间
-d # 只列出目录本身的信息
-i # 查看目录或文件的inode编号,该编号唯一
-l # 查看长列表信息

3.6 处理文件

3.6.1 创建文件

touch
# 创建空文件
# 将已存在的文件的修改时间设置为当前,因此表示“touch”
-a # 将已存在的文件的访问时间设置为当前

3.6.2 复制文件

cp
-R -r # 复制src目录到dst目录中,dst目录不存在则会创建

3.6.3 制表键自动补全

3.6.4 链接文件

ln
src dst # 创建一个名为dst的硬链接,看起来是独立文件,但是inode是一样的
-s src dst # 为src创建一个名为dst的符号链接,符号链接类似指针、快捷方式,指明引用的是哪个文件,符号链接本身是一个独立的文件,inode编号和原文件不一样

3.6.5 重命名文件

mv
src dst # 将文件或者目录src重命名为dst,mv命令只影响文件名,inode和时间戳不变
src dst # 将文件或者目录src移动到dst,mv命令只影响文件名,inode和时间戳不变

3.6.6 删除文件

rm
-i # 将文件或者目录删除时发出确认
-f # 将文件或者目录删除时强制执行
-r # 递归删除目录底下的文件和子目录,最后删除目录本身

3.7 处理目录

3.7.1 创建目录

3.7.2 删除目录

rmdir
# 没有-i选项询问,只能删除空目录
-i # 将文件或者目录删除时发出确认
-f # 将文件或者目录删除时强制执行
-r # 递归删除目录底下的文件和子目录

3.8 查看文件内

3.8.1 查看文件类型

file 
# 探测文件的内部,决定文件是什么类型

3.8.2 查看整个文件

cat 
# 所有文件内容全都显示出来
-n # 给文件内容每一行加上编号
-b # 只给非空内容的行加上编号
-T # 制表符以“^T”的形式显示
more
# 每次显示一页的数据,空格下一页,回车逐行向前,q退出
less
# 每次显示一页的数据,空格下一页,回车逐行向前,q退出
# 支持上下键,上下翻页键

3.8.3 查看部分文件

tail 
# 默认后10行
-n -number # 指定后n行,或者破折号后直接跟数字
-f # 保持活动状态,实时监控
head
# 默认前10行
-n -number # 指定前n行,或者破折号后直接跟数字
# 没有-f选项

4 更多的bash shell命令

4.1 监测程序

4.1.1 探测进程

ps
# 默认情况下只输出当前控制台下的属于当前用户的进程信息
# ps因为历史原因有三种风格,
# Unix单破折线,BSD不加破折线,GNU双破折线
1. Unix风格
ps -ef # 所有进程+完整格式输出
	UID:启动这些进程的用户。
	PID:进程的进程ID。
	PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
	C:进程生命周期中的CPU利用率。
	STIME:进程启动时的系统时间。
	TTY:进程启动时的终端设备。
	TIME:运行进程需要的累计CPU时间。
	CMD:启动的程序名称。
ps -l # 长格式的输出
	F:内核分配给进程的系统标记。
	S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
	PRI:进程的优先级(越大的数字代表越低的优先级)。
	NI:谦让度值用来参与决定优先级。
	ADDR:进程的内存地址。
	SZ:假如进程被换出,所需交换空间的大致大小。
	WCHAN:进程休眠的内核函数的地址。

2. BSD风格
ps l
	++
	VSZ:进程在内存中的大小,以千字节(KB)为单位。
	RSS:进程在未换出时占用的物理内存。
	STAT:代表当前进程状态的双字符状态码。
		STAT第一个字符和Unix风格的S列一致,
		<:该进程运行在高优先级上。
		N:该进程运行在低优先级上。
		L:该进程有页面锁定在内存中。
		s:该进程是控制进程。
		l:该进程是多线程的。
		+:该进程运行在前台。

3. GNU Linux风格
GNU长参数
	--deselect 显示所有进程,命令行中列出的进程
	--Group grplist 显示组ID在grplist列表中的进程
	--User userlist 显示用户ID在userlist列表中的进程
	--group grplist 显示有效组ID在grplist列表中的进程
	--pid pidlist 显示PID在pidlist列表中的进程
	--ppid pidlist 显示父PID在pidlist列表中的进程
	--sid sidlist 显示会话ID在sidlist列表中的进程
	--tty ttylist 显示终端设备号在ttylist列表中的进程
	--user userlist 显示有效用户ID在userlist列表中的进程
	--format format 仅显示由format指定的列
	--context 显示额外的安全信息
	--cols n 将屏幕宽度设置为n列
	--columns n 将屏幕宽度设置为n列
	--cumulative 包含已停止的子进程的信息
	--forest 用层级结构显示出进程和父进程之间的关系
	--headers 在每页输出中都显示列的头
	--no-headers 不显示列的头
	--lines n 将屏幕高度设为n行
	--rows n 将屏幕高度设为n排
	--sort order 指定将输出按哪列排序
	--width n 将屏幕宽度设为n列
	--help 显示帮助信息
	--info 显示调试信息
	--version 显示ps命令的版本号

4.1.2 实时监测进程

top
输出内容
1. 当前时间、系统的运行时间、登录的用户数,以及系统的1分钟、5分钟和15分钟的平均负载情况
2. top将进程叫作任务(task):有多少进程处在运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应)
3. CPU概要信息
4. 5. 内存状态
6+. 进程的详细列表,与ps命令类似,但是状态有一些区别(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)

交互式命令
f 选择输出的排序字段
d 修改轮询间隔

4.1.3 结束进程

Linux进程信号

kill
默认发送TERM信号,只能以PID作为参数,且必须是进程的属主或者登录为root用户
-s 信号值或信号名称 # 发送指定信号

killall
只能以进程名作为参数,支持通配符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值