正确查看方式: Ctrl + F
0 Linux目录名称
这里列举一些常见的:
/
虚拟目录的根目录, 通常这里不会存储文件./bin
二进制目录, 存放用户级的命令./sbin
系统二进制目录, 存放管理员级的命令./boot
存放系统启动相关的文件./dev
设备目录./etc
系统配置文件目录./lib
库目录, 存放系统和应用的库文件./mnt
挂载目录, 放在挂载点文件./opt
可选目录, 存放第三方软件包和数据./proc
进程目录, 放硬件和当前进程相关的文件./sys
系统目录, 存放系统硬件信息相关的文件./tmp
临时目录, 存放临时文件, 系统重启时此目录下文件可能会被删除./usr
用户二进制目录, 用户级的命令和数据文件存储在这里./var
可变目录, 用以存放经常变化的文件, 比如日志文件.
1 文件相关的命令
1.1 determine file type
file
命令:
file file_name
查看文件类型.
1.2 touch
touch
命令:
touch
创建一个空文件.
1.3 copy
cp
命令:
cp [OPTION] source destination
复制文件.
source 和 destination 都是文件名时, 复制出一个 名为 destination 的文件(-i
参数强制shell询问是否覆盖已有文件);
source 是文件名, destination 是目录时, 复制出一个同名文件放在destination 目录下;
source 是目录时, 需要使用 -R
递归复制才行, 这时 destination 就是新的目录名.
1.4 link
ln
命令:
ln [OPTION] target link_name
链接文件.
不加任何选项时, 默认创建硬链接(hard link).
硬链接 文件和原文件的 inode 相同, 表明它俩是同一个文件, 删除原文件, 硬链接文件可以独立存在.
符号链接(symbolic links, 也叫软链接) 文件需要使用 -s
选项创建, 符号链接 和 原文件 inode 不同, 符号链接就像是一个指向 原文件的指针, 原文件被删除, 符号链接文件会失效.
符号链接 可以跨文件系统, 硬链接 不行.
很多时候我们都是使用符号链接, 记住使用符号链接时, 不要删除原文件!
1.5 moving
mv
命令:
mv [OPTION] source dest
命令可以移动文件(换目录), 也可以修改文件名.
1.6 removing
rm
命令:
rm [OPTION] [FILE]
删除文件或目录.
记得有一个梗:
使用 rm
的 -r
(recursively) 和 -f
(force) 删服务器所有文件跑路.
1.7 make directories
mkdir
命令:
mkdir [OPTION] directory
创建目录.
1.8 Concatenate FILE(s) to standard output.
cat
命令:
cat [OPTION] [FILE]
查看文件.
-n
显示行号.
1.9 more and less
more
和 less
命令和 cat
一样, 也是查看文件内容. 不过 more
和 less
不是全量输出文件内容, 而是一次显示一屏文本, 同时支持翻页.
less
是 more
的升级版.(less is more, 少就是多).
more
只支持在文件中基本移动.
less
提供了丰富的命令集可以做很多事, 如:
/pattern
搜索(向文件后forward), ?pattern
搜索(向文件前backward), d
翻页半屏(forward), u
翻页半屏(backward) 等等.
man
手册查看中也可以 less
的命令.
1.10 head and tail
head
从文件头部查看, 默认显示10行.
-n
选项指定显示的行数, 比如文件总共10行, n=3, 显示文件最开始的3行(1-3行).
tail
查看文件尾部, 默认显示10行, 一般使用 -f
选项, 实时查看日志文件(file grows).
-n
选项可以指定显示的行数, 比如10行, n=2, 则显示最后两行(9-10行).
head
和 tail
组合可以查出指定行号区间的文本, 比如一个文件一共20行, 现在想显示 11-15行:
$ for (( i = 1; i<=20; i++ )); do; echo $i; done | tail -n 10 | head -n 5
11
12
13
14
15
以上的两个 -n num
可以简写成 -num
. -10
和 -n 10
是等价的.
1.11 print working directory
pwd
命令:
查看当前所在目录.
2 其他命令
2.1 which
which
, shows the full path of (shell) commands.
示例:
$ which cho
/usr/bin/echo
2.2 type
type
显示命令的类型.
示例:
t$ type echo
echo is a shell builtin
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
2.3 history
history
查看命令历史.
bash
命令的历史记录是优先存在内存中的, 当 shell 退出时才被写入到历史文件(.bash_history
)中.
可以使用 history -a
强制写入历史文件.
!!
代表上一条命令.
!abc
代表上一个首字母是abc
的命令.
2.4 sleep
sleep
接收一个参数(秒数), 使进程暂停一段时间.
直接在命令行输入 sleep 5
会使当前会话睡眠 5 秒.
持续更新…