Linux 入门基础¶
1. Linux 系统结构¶
2. Linux 权限概念¶
3. Linux 常用的命令¶
笔记中使用许多 Linux 命令行,这里做一个快速笔记以备查询。以 bash 为例。其他的 shell 比如 csh, tcsh 等大部分命令和参数都是一致的。
ls: 列出当前目录内容
# 显示 '~/data' 文件夹里的文件及目录
$ ls ~/data
# 显示 '~/data' 文件夹里的所有文件及目录(包括隐含文件),并以列表形式显示
$ ls -la ~/data
# 文件按照修改时间排序,新文件在前
$ ls -t ~/data
# 查看所有 .fastq 后缀的文件,* 代表任何长度的任意字符
$ ls ~/data/*.fastq
cd: 改变文件夹
# 从当前文件夹 '~/data' 更换到 '~/app' 文件夹
~/data$ cd ~/app
# 从任何位置切换回用户主目录 '/home/User'
$ cd
# 回退上一个访问目录
$ cd -
# 返回上一级目录
$ cd ..
# 返回多级目录并前往一个叫“new directory”的文件夹,这里 '\' 是转义符,将空格符转义
$ cd ../../../new\ directory
pwd: 显示当前目录
# 当不知道当前处于什么路径时,可以用这个命令显示
$ pwd
mkdir: 建立新文件夹
# 当前路径下新建一个名叫 'new' 的文件夹
$ mkdir new
rmdir: 删除文件夹
# 删除当前路径的文件夹 'new'
$ rmdir new
rm: 删除文件
# 删除当前文件夹的所有后缀是 '.sra' 的文件
$ rm *.sra
# 删除文件夹 'new' 以及 'new' 下的所有子文件与子目录
$ rm -R new
# 不弹出删除确认提示,删除所有 '.tmp' 文件
$ rm -f *.tmp
cp: 复制文件
# 复制 'test.txt' 文件到文件夹 '~/abc' 中
$ cp test.txt ~/abc
mv: 移动文件或文件夹
# 移动 'test.txt' 文件到文件夹 '~/abc' 中并改名叫 'test1.txt'
$ mv test.txt ~/abc/test1.txt
which: 查找可执行文件的系统路径
# 打印出系统带的 python 程序的路径
$ which python
wc: 统计一个文件的行,字符和字节数
# 输出文件 'text.txt' 的行数,字符数和字节数。
$ wc text.txt
cat: 输出文件内容
# 显示文件 'text.txt' 内容
$ cat text.txt
grep: 截取输入字符的选定 pattern 并输出所在的行
# 显示文件 'text.txt' 中含有字符 'abc' 的行
$ cat text.txt | grep 'abc'
head: 输出文件头部内容
# 输出文件前5行内容
$ head -5 text.txt
tail: 输出文件尾部内容
# 输出文件的最后5行内容
$ tail -5 text.txt
ps: 查看系统进程
ps会在终端打印系统进程,各列的含义是:
- USER: 运行该进程的用户
- PID: 运行着的命令(CMD)的进程编号
- %CPU: CPU占用
- %MEM: 内存占用
- VSC:
- RSS:
- TTY: 命令所运行的位置(终端)
- STAT:
- TIME: 运行着的该命令所占用的CPU处理时间
- COMMAND: 该进程所运行的命令
# 显示详细的进程信息
$ ps -waux
# 过滤用户root的进程
$ ps -u root
# 根据不同参数使用来排序进程,并只现实排名前10的进程
$ ps -aux --sort -pcpu | head -n 11
$ ps -aux --sort -pmem | head -n 11
$ ps -aux --sort -pcpu,+pmem | head -n 11
# 过滤进程名
$ ps -f -C chrome
# 根据PID过滤
$ ps -L 1000
# 树形现实进程
$ ps -axjf
4. 其他常用命令与工具¶
lsb_release: 查看发行版信息
$ lsb_release -a
# 打印出系统发行版信息
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
htop: 系统进程查看
# Ubuntu 发行版默认不带 htop,需要安装后使用
$ sudo apt install htop
# 运行 htop
$ htop
dmesg: 查看系统日志
# 显示启动状态开始的核心输出日志
$ dmesg | less
# 列出某个硬件的输出信息,如默认磁盘 sda
$ dmesg | grep 'sda'
# 清空缓存区信息
$ dmesg -c