接下来一段时间打算学一下linux
学习来源书本《Linux命令行与shell脚本编程大全 第三版》
一、进程管理
ps命令
ps 命令默认会显示运行在当前控制台下的属于当前用户端的进程,显示的选项
1 | UID # 启动这些进程的用户 |
常用参数 ps -xx
1 | -e # 显示所有进程 |
top命令
1 | top # ps命令是查看某一时刻的信息,如果想要查看进程占用资源的趋势则需要用到top命令 |
kill killall命令
kill命令可通过进程ID(PID)给进程发信号。
1 | kill $pid # 杀掉进程id为pid的进程 |
killall # killall命令支持通过进程名而不是PID来结束进程,也支持通配符
以root身份执行此命令当小心,很可能会误杀重要的系统进程
1 | eg: |
二、监测磁盘空间
linux文件系统将所有的磁盘都并入一个虚拟目录下。
在使用新的存储媒体之前,需要把它放到虚拟目录下。这项工作称为 ———— 挂载
一般情况,新发布的图形化桌面环境都会自动挂载特定类型的可移动存储媒体(可移动存储媒体指的是可从PC上轻易移除的媒体,比如软盘和U盘)
mount命令
用mount命令查看机器上的挂载信息
1 | mount # 输出当前系统上挂载的设备 (设备文件名、挂载点、文件系统类型、已挂载媒体的访问状态) |
mount挂载的文件举例,eg:
1 | /dev/disk2s1 on /Volumes/网易POPO (hfs, local, nodev, nosuid, read-only, noowners, quarantine, mounted by zsr) |
使用 mount 命令手动挂载设备
1 | mount -t type device directory |
type
type 参数指定了磁盘被格式化的文件系统类型,linux可识别非常多的文件系统类型
如果是需要和windows PC共用这些存储设备,通常得使用下列的文件系统类型
1 | vfat: windows长文件系统。 |
大多数U盘和软盘会被格式化成vfat文件系统。而数据CD则必须使用iso9660文件系统类型
device
device参数指定了改存储设备的设备文件的位置
directory
directory参数指定了挂载点在虚拟目录中的位置
如:手动将U盘 /dev/sdb1 挂载到 /media/disk 可以使用下面的命令
1 | mount -t ntfs /dev/sdb1 /media/disk |
挂载之后root用户就可以使用该设备的所有访问权限了,其它用户访问,需要设置目录的访问权限
umount命令
从Linux系统上移除一个可移动设备时,不能直接从系统上移除而应该先卸载
1 | umount [directory | device] |
df命令
df命令可以很方便的查看所有已挂载的磁盘的使用情况
1 | df |
du命令可以指定显示某个特定目录的磁盘使用情况。可以很容易发现哪个磁盘的存储空间快没了。
1 | du # 默认当前目录 |
三、处理数据文件
sort命令排序数据
sort 命令按照回话指定的默认语言的排序规则对文本文件中的数据进行排序。默认情况下,sort命令会把数据当做字符来执行标准的字符排序。
1 | sort file # 标准字符排序方式 |
其中-t和-k对按照字段分割的数据进行排序非常有用,比如:
对字符串 ‘abcd:cdef:dddd:xxxxxx’,以’:’分割,然后取第三个字段dddd进行排序:
1 | sort -t ':' -k 3 -n /etc/file # |
综合运用,将当前目录的文件(夹)大小安照降序输出
1 | du -sh * | sort -nr # | 为管道命令,将du的输出重定向到sort命令 |
grep命令搜索数据
grep命令就是从输入或者指定文件中查找包含指定字符的行
1 | grep xxx file # 搜索某文件(file)中的字段(xxx)所在的那一行数据 |
压缩数据
linux包含了多种文件压缩工具
1 | 工具 文件扩展名 描述 |
gzip软件包是GNU项目的产物,这个软件包含有下面的工具
1 | gzip 用来压缩文件 |
1 | gzip ./* # 将当前目录下的所有文件进行压缩,(会替换源文件) |
tar
虽然zip命令能够很好的将单个文件压缩归档,但是它不是Unix和Linux中的标准归档工具。
目前Linux和Unix用的最广泛的归档工具是tar命令。
1 | tar function [options] object1 object2 ... |
1 | tar -cvf txt.tar 1.txt 2.txt 3.txt # 压缩 |