1.1ls 查看当前目录下的文件列表,仅列出当前目录可见文件。
-l:显示详细信息;
-a:显示隐藏文件;
-h:人性化显示文件大小;
-t:按时间排序;
-r:倒序排序;
-S:按文件大小排序;
-R:递归显示目录及子目录内容。
1.1.1 ls -a
显示当前目录下包括隐藏文件的所有文件列表。
1.1.2 ls -l
输出长格式列表,每个文件输出一行。
1.1.3 ls -t
按修改文件排序,最近修改的文件显示在最上面。
1.1.4 ls -R
显示递归文件
2.1cd 切换工作目录
2.1.1 cd /
进入用户的根目录
2.1.2 cd ..
返回上级目录
2.1.3 cd ../..
返回上两级目录
2.1.4 cd {path}
进入到指定的目录,相对路径和绝对路径都支持
3.1 chmod 更改文件或目录的访问权限
3.1.1 访问权限说明,通过ls -l查看
-rw-r--r-x 共10位符号控制,分成1+3+3+3四部分形式 ①- ②rw- ③r-- ④r--
①是第1位符号,如果是-表示是普通文件,如果是d则表示目录。
②2-4位,表示当前用户的权限,用u符号
③5-7位,表示当前组的权限,用g符号
④8-10位,表示其他用户的权限,用o符号。
⑤
r
符号代表读权限以及八进制数4。
⑥
w
符号代表写权限以及八进制数2
。⑦
x
符号代表执行权限以及八进制数1。
⑧+/- 增加或者删除相应的权限。
3.1.2 添加组用户的写权限
chmod g+w ./test.log
3.1.3 删除其他用户的所有权限(权限数为0)
chmod o= ./test.log
3.1.4 删除所有用户的写权限
chmod a-w ./test.log
3.1.5 分别配置权限,当前用户--所有 组--读写 其他用户--读
chmod u=rwx, g=rw, o=r ./test.log
3.1.6 用八进制数快速分别配置权限,数字对应如上的权限配置
chmod 764 ./test.log
4.1 mv 移动或重命名指定的文件或目录
-f:强制覆盖已存在的文件;
-i:交互式移动,提示用户确认;
-v:显示移动过程。
4.1.1 移动(多个)文件,移动目录同理
mv file_2.txt file_3.txt file_4.txt /home/office/
mv *.txt /home/office/
4.1.2 重命名文件或目录
mv file_1.txt file_2.txt # 将文件file_1.txt改名为file_2.txt
5.1 cp 复制指定的文件或目录
-r:递归复制目录及其内容;
-f:强制覆盖已存在的文件;
-i:交互式复制,提示用户确认;
-p:保留原文件权限等属性;
-v:显示复制过程。
5.1.1 复制文件到另外一个目录并改名
cp file.txt /home/user/Documents/newfile.txt
5.1.2 目录递归赋值
cp -r /usr/men /usr/zh
5.1.3 相对路径复制文件到当前目录下
cp ../mary/homework/assign .
6.1 rm 删除指定的文件或目录,删目录则必带上-r/-R参数
-r:递归删除目录及其内容;
-f:强制删除文件或目录;
-i:交互式删除,提示用户确认;
-v:显示删除过程。
6.1.1 批量删除 icons
文件夹中的子文件夹中的 data 文件夹
rm -rf icons/**/data
6.1.2 删除当前项目下 .html 结尾的文件
rm -rf *.html
7.1 mkdir/rmdir 创建/删除(空)目录
rmdir : -p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则一并删除。
mkdir : -p:创建多级目录;
-m:设置权限;
-v:显示创建过程。
7.1.1 删除空目录
rmdir www
7.1.2 由下向上递归删除,若 Test 删除后,www 目录成为空目录,则 www 亦予删除。
rmdir -p www/Test #等价于 rmdir www/Test 和 rmdir www
7.1.3 在当前目录下创建目录
mkdir new_directory
7.1.4 创建多级目录并设置权限,当前用户有所有权,没有-p则/usr/meng路径要存在
mkdir -p -m 700 /usr/meng/test
8.1 touch 更新文件或目录的时间戳
8.1.1 创建文件或更新时间戳(当文件已存在时)
touch new_file.txt
8.1.2 批量创建文件
touch file{1..5}.txt
9.1 cat 可显示多个文件内容,显示不可见字符
-n:显示行号;
-b:只对非空行显示行号,从1开始,覆盖"-n"选项;
-E:在每行末尾添加$符号。
9.1.1 合并显示多个文件并打印到终端上
cat ./1.log ./2.log ./3.log
9.1.2 显示文件中的非打印字符、tab、换行符
cat -A test.log
9.1.3 将标准输入的内容和文件内容一并显示
echo '######' |cat - test.log
9.1.4 多个文件合并成一个文件,file1和file2的内容合并成一个新文件file3
cat file1 file2 > file3
10.1 less 分屏上下翻,浏览文件内容(重点)
命令参数
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:继续向后搜索
N:向前搜索
b: 向后翻一页
d: 向后翻半页
u: 向前滚动半页
y: 向前滚动一行
Q: 退出less 命令
空格键: 滚动一页
回车键: 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
G: 移动到最后一行
g: 移动到第一行
1.全屏导航
ctrl + F - 向前移动一屏 ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏 ctrl + U - 向后移动半屏
2.单行导航
j - 下一行
k - 上一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
10.1.1 ps查看进程信息并通过less分页显示
ps -ef | less
10.1.2 查看命令历史使用记录并通过less分页显示
history | less
10.1.3 浏览多个文件
less test1.log test2.log #输入n切换下个文件,输入p切换到上一个
10.1.4 搜索文本
/ hello
11.1 head 显示文件的前几行。默认情况下显示前10行。
-n:显示前n行;
-c:显示前n个字符;
-q:不显示文件名;
11.1.1 显示文件的前5行
head -n 5 file.txt
11.1.2 显示文件的前100个字节
head -c 100 file.txt
11.1.3 通过管道传递数据并显示开头部分
cat file.txt | head
12.1 tail 屏幕上显示指定文件的末尾若干行
-c, --bytes=NUM 输出文件尾部的NUM(NUM为整数)个字节内容。
-f, --follow[={name|descript}] 显示文件最新追加的内容。“name”表示文件名的方式监视变化。
-F 与 “--follow=name --retry” 功能相同。
-n, --line=NUM 输出文件的尾部NUM(NUM位数字)行内容。
--pid=<进程号> 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令。
-q, --quiet, --silent 当有多个文件参数时,不输出各个文件名。
-s, --sleep-interal=<秒数> 与“-f”选项连用,指定监视文件变化时间隔的秒数
12.1.1 显示文件file的内容,从第20行至文件末尾
tail -n +20 file
12.1.2 显示文件file的最后10个字节
tail -c 10 file
12.1.3 监视filename文件的尾部内容
tail -f mail.log
13.1 find 在指定目录下查找文件
13.1.1 删除当前目录下的 package-lock.json
find . -name "package-lock.json" -exec rm -rf {} \;
13.1.2 查找 .html 结尾的文件并删除
find ./docs -name "*.html" -exec rm -rf {} \;
13.1.3 删除当前目录下的 node_modules 目录
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
13.1.4 按照文件类型进行搜索
find /path/to/search -type f
14.1 more 显示文件内容,每次显示一屏
按
Space
键:显示文本的下一屏内容。按
Enter
键:只显示文本的下一行内容。按斜线符
|
:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。按H键:显示帮助屏,该屏上有相关的帮助信息。
按B键:显示上一屏内容。按Q键:退出more命令。
-<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。
14.1.1 显示文件内容,但在显示前先清屏,并且在屏幕的最下方显示完成的百分比。
more -dc file
14.1.2 每10行显示一次,而且在显示之前先清屏
more -c -10 file
14.1.3 第 20 行开始显示 testfile 之档案内容,多行空白按一行空白处理
more -s +20 testfile