常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS)
Linux的四个部分:
1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件
- 系统内存管理:可用物理内存 + 创建、管理虚拟内存[交换空间]
- 软件程序管理:进程/init进程/运行级init系统 [ps]
- 硬件设备管理:驱动代码 / 驱动模块
- 文件系统管理
2 GUN工具
3 图形化桌面环境
4 应用软件
Shell — CLI:command line interfacs 文本命令行界面
- 只接受文本输入,只显示文本和基本图形输出
基本bash shell 命令
1 cd
2 pwd
3 ls
: 按字母排序显示当前目录下的文件和目录
ls -F
: 区分文件和目录ls -a
: 显示所有文件和目录,包含隐藏文件’.xx’ls -R -F
: 当前路边好汉的子目录中为文件ls -l
: 长列表格式输出- 文件类型:d目录/-文件/c字符型文件/b块设备
- 文件的权限
- 文件的硬链接总数
- 文件属主用户名
- 文件属主的组名
- 文件大小[字节]
- 文件上次修改时间
- 文件名或目录名
man ls
4 ls过滤输出列表
ls -l demo
ls -l dem?
: ?一个字符ls -l de*
: * 多个字符ls -l d[a-i]mo
: 指定字符范围a-ils -l d[!a]mo
: 非a
5 文件
-
创建文件
touch demo
-
拷贝文件
cp source_addr destination_addr
cp -i source_addr destination_addr
: + 重复判断cp -r source_addr destination_addr
: 递归复制整个目录
-
链接文件
ln -s link_file linked_file
: linkend_file指向link_file,内容不同 -
重命名文件
mv old_file new_file
-
删除文件
rm -i achrived_file
rm -f achrived_file
:无询问,强制删除
6 目录
- 创建目录
mkidr new_dir
mkdir -p new_dir/sub_dir/under_dir
: 创建多个目录及子目录
- 删除目录
rmdir new_dir
: 只删除空目录,非空拒绝删除rm -ri new_dir
: 删除其中文件后再删除目录rm -rf new_dir
: 危险操作,无提示
7 文件
- 文件类型查看
file my_file
: 文件|目录|链接文件 - 查看整个文件
cat demo.py
cat -n demo.py
: 带行号查看文件cat -b demo.py
: 有文本的行加行号cat -T demo.py
: 不出现制表符more demo.py
: 显示每页数据后停下less demo.py
: 一次只显示一屏的文件文本
- 查看部分文件
tail demo.py
: 查看文件最后10行tail -n 4 demo.py
: 文件最后4行head demo.py
: 显示文件前10行head -4 demo.py
: 文件前4行
8 程序
- 探查进程
ps [-ef] | [-l]
- UID — 启动进程的用户
- PID — Process ID 进程ID
- PPID — 父进程的进程号
- C — 进程生命周期中的CPU利用率
- STIME — 进程启动时的系统时间
- TTY — 启动进程的终端设备
- TIME — 运行进程需要的累计CPU时间
- CMD — 启动的程序名称
- 实时监测进程
top
- COMMAND:进程对应的命令行命令,启动的进程名
- %CPU:进行使用CPD时间比例
- 结束进程
kill {PID}
- 挂起 HUP 1
- 终端 INT 2
- 结束运行 QUIT 3
- 无条件终止 KILL 9
- 段错误 SEGV 11
- 尽可能终止 TERM 15
- 无条件停止运行,但不终止 STOP 17
- 停止或暂停,但继续在后台运行 TSTP 18
- STOP或TSTP后恢复执行 CONT 19
killall http*
: 结束所有以http开头的进程
9 磁盘空间
mount
挂载存储媒体- Linux FS将所有磁盘并入一个虚拟目录下。在使用新的存储媒体之前,需要将它放在虚拟目录之下
- 媒体的设备文件
- 媒体挂载到虚拟目录的挂载点
- 文件系统类型
- 已挂在媒体的访问状态
mount -t vfat /dev/sdb1 /media/disk
: 手动将U盘/dev/sdb1挂载到/media/diskumount [directory | device]
: 通过设备文件后挂载点指定卸载设备[使用中,不可卸载]
df
查看挂载磁盘使用情况- Filesystem:设备的设备文件位置
- 512-blocks:已容纳多少个512字节大小的块
- Used:已使用多少个512字节的块
- Available:还有多少个512字节的块可用
- %iused:已用空间比例
- Mounted on:设备挂载到了哪个挂载点上
df -h
du
显示特定目录的磁盘使用情况,判断某目录下是否有超大文件-c
:显示所有已列出文件总的大小-h
:按用户易读的格式输出大小,K/M/G-s
:显示每个输出参数的总计
10 大数据文件 — 处理 & 提取有用信息
sort [-n | -M] myfile
: 排序文件du -sh * | sort -nr
: -nr参数将结果按数字降序输出sort -t ':' -k 3 -n /etc/passwd
: 对密码文件按照用户ID进行数值排序
grep [option] pattern [file]
: 在文件file中查找包含匹配pattern的行grep -v t file
: file中不包含t的行grep -n t file
: 显示匹配行号grep -c t file
: file中含t的共有多少行grep -e t -e f file
: file中包含e或f的行 == grep [tf] file
11 压缩数据
gzip myprog
: 压缩文件myprog,形成.gz文件gzcat
: 查看压缩过文本文件的内容gunzip
: 文件解压- 归档数据
tar function [option] object1 object2
tar -cvf test.jar test/ test2/
: 创建名为test.jar的归档文件,含有test和test2目录内容tar -tf test.jar
: 列出test.jar的内容,不提取文件tar -xvf testjar
: 提取testjar内容