linux基本指令总结
Posted 蒟蒻的小博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基本指令总结相关的知识,希望对你有一定的参考价值。
拖了好久的linux学习,终于开始啦 环境终于没问题了
边学边总结
一.常用指令
1.1 关机与开机
poweroff
马上关机
reboot
马上重启
1.2 目录文件操作命令
cd /
切换到根目录 “/为根目录”
cd /usr
切换到根目录下的usr目录 (cd + 路径,打开指定路径)
cd ..
切换到上一级目录
cd ~
切换到home目录
cd -
切换到上次访问的目录
ls
查看当前目录下的所有目录和文件
ls -a
查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l
列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir
查看指定目录下的所有目录和文件 (ls + 路径,查看指定路径下文件)
查看当前路径命令:pwd pwd
输出当前所在绝对路径
注意:在Ubuntu中,在默认情况下蓝色代表目录,白色代表普通文件,红色代表压缩文件或者软件包,绿色代表可执行文件,浅蓝色代表链接文件,黄色代表设备文件等
mkdir aaa
在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa
在指定目录下创建一个名为aaa的目录
rm -r /usr/aaa
删除指定路径下的文件或目录 (有错误提示,删除就记这一条)
rm -rf /usr/aaa
删除指定路径下的文件或目录 (无错误提示)
mv aaa.txt bbb.txt
将当前目录中的文件或者目录aaa.txt名字改为bbb.txt(mv 当前目录中的文件或者目录名字 新文件或者目录名字) 修改名字
mv bbb.txt /home
将当前目录中的文件或者目录aaa.txt移动到/home目录里面(mv 当前目录中的文件或者目录名字 新文件或者目录新位置{路径}) 移动文件
find /usr/tmp -name \'a*\'
查找/usr/tmp目录下的所有以a开头的目录或文件 (find 目录 参数 文件名称)
touch aa.txt
在该目录下创建aa.txt文件(非目录)
touch /home/aa.txt
在指定路径/home下创建aa.txt文件(非目录)
1.3 文件的编辑
命令:vi 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt
或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存文件:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑
取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
若找不到命令或者报错,麻烦重新下载vim软件或者更新
1.4 文件的查看命令:cat/more/less/tail
cat:看最后一屏 (cat命令的一个缺点是它在显示文件内容时不能做任何停留,所以如果遇到了一个文件内容超过整个屏幕的时候我们只能看到其最后部分)
示例:使用cat查看/home/aa.txt文件,只能显示最后一屏内容
cat /home/aa.txt
more:百分比显示
示例:使用more查看/home/aa.txt文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more /home/aa.txt
less:翻页查看
示例:使用less查看/home/aa.txt文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less /home/aa.txt
tail:指定行数或者动态查看
示例:使用tail -10 查看/home/aa.txt文件的后10行,Ctrl+C结束
tail -10 /home/aa.txt
1.5 文件的压缩与打包
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz(用gzip)
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
压缩:
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩当前目录下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
(打包后,以 gzip 压缩,名字一般为.tar.gz)
也可以指定路径 tar -zcvf /home/ab.tar.gz /home/txt
(在把/home/txt的文件或者目录压缩成ab.tar.gz,并保存在/home中)
解压:
命令:tar [-zxvf] 压缩文件
其中:x:代表解压
示例:将当前目录下的ab.tar解压到当前目录下
tar -zxvf ab.tar
也可以指定路径 tar -zxvf /home/gonghw/ab.tar.gz -C /home
(把/home/gonghw路径下的ab.tar.gz解压到/home路径下,注意用-C表示指定压缩位置)
列出压缩包中所有文件:
命令:tar [-tf] 文件名字
其中:t:代表列出文件
示例:列出打包文件中的文件
tar -tf ab.tar
不定时更新
linux:基本指令操作常见指令操作及总结
linux常见命令行操作及总结
正文开始@Assassin
目录:
- linux常见命令行操作及总结
- 一些有趣的命令:
- 1. ls指令:
- 2. pwd指令:
- 3. whoami指令:
- 4. cd指令:
- 5. clear指令:
- 6. echo指令:
- 7. touch指令:
- 8. mkdir指令:
- 9. rmdir指令:
- 10. rm指令:
- 11. man指令:
- 12. cp指令:
- 13. mv指令:
- 14. cat指令:
- 15. tac指令:
- 16. more指令:
- 17. less指令:
- 18. head指令:
- 19. tail指令:
- 20. date指令:
- 21. cal指令:
- 22. find指令:
- 23. which指令:
- 24. alias指令:
- 25. grep指令:
- 26. useradd/userdel/groupadd/groupdel指令:
- 27. zip指令:
- 28. unzip指令:
- 29. tar指令:
- 30. file指令:
- 31. bc指令:
- 32. uname指令:
- 33. history指令:
- 34. exit/logout指令:
一些有趣的命令:
① 小火车 sl
[Assassin@Ninghai ~]$ sl
sl 安装:
[Assassin@Ninghai ~]$ sudo yum install -y sl
安装失败的(找不到安装包)可以下载epel第三方源安装,安装完成后再执行sl安装就ok
[Assassin@Ninghai ~]$ sudo yum install -y epel-release
② cowsay动画:
[Assassin@Ninghai ~]$ cowsay Lebron James nb!
cowsay 安装:
[Assassin@Ninghai ~]$ sudo yum install -y cowsay
按理来说,安装了cowsay之后,animalsay 也能用了,animalsay每次的小动物是随机的~~
③ boxes指定动画:
[Assassin@Ninghai ~]$ echo "Stephen Curry is an elementary school student" | boxes -d dog
boxes 安装:
[Assassin@Ninghai ~]$ sudo yum install -y boxes
④ 黑屏显示天气:
[Assassin@Ninghai ~]$ curl http://wttr.in
⑤ elinks终端访问网页:
[Assassin@Ninghai ~]$ elinks www.baidu.com
挺丑的,按 q 退出网页
elinks 安装:
[Assassin@Ninghai ~]$ sudo yum install -y elinks
⑥ lrzsz拖拽式传输文件:
支持小文件之间从windows传输到linux,虽然在xftp前显得很鸡肋,不过很方便:
lrzsz安装:
[Assassin@Ninghai ~]$ sudo yum install -y lrzsz
1. ls指令:
语法: ls [选项] [目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件;对于文件,该命令会列出文件名及其他有关信息
[Assassin@Ninghai ~]$ ls
ls常用选项:
-a | 显示所有文件及目录 (包括以"."开头的隐藏文件) |
---|---|
-l | 使用长格式列出文件及目录信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
① ls -l:列出文件的详细信息,包括文件的类型,所有者,所属组及相关的权限,文件的大小,文件的创建日期等
[Assassin@Ninghai ~]$ ls -l
小贴士:这里的 ls -l 可以简写为 ll ,因为:
alias是取别名的意思,这里os把 ls -l 取了一个别名 ll,自然也能用 ll 代替 ls -l
alias ll='ls -l --color=auto'
/usr/bin/ls
② ls -a:列出目录下的所有文件,包括以 . 开头的隐含文件,在linux中,以.开头的文件或目录被认为是默认不可见的
[Assassin@Ninghai ~]$ ls -a
可以看到列举出来的文件或文件夹都是以.开头,这些文件不能被直接可见,可以理解为一些重要文件不想被他人直接看到。在Linux当中,每个目录下默认存在两个隐含文件 . 和 . . ( . 代表当前目录 . . 代表上级目录)
③ ls -d:将目录像文件一样显示,而不是显示文件夹的文件
[Assassin@Ninghai ~]$ ls -d /home/Assassin/shell_code/
④ ls -i:输出文件的i节点的索引信息,也就是我们所说的inode信息。linux中不以文件的后缀作为区分文件类型的标准,文件后缀只是为了对比windows方便记忆和识别,而真正区分linux文件的是inode信息
[Assassin@Ninghai ~]$ ls -i
文件名前面的数字就是inode,作为linux文件的唯一标识
⑤ ls -h:以人类能看懂的方式输出信息,-h也就是-human的意思,一般来说是搭配其他参数使用,如 ls -lh
[Assassin@Ninghai ~]$ ls -lh
单纯的 ls -l 输出的文件大小信息是以字节为单位,加上-h后就是我们熟悉的K或者M
⑥ ls -R:递归列出所有子目录下的文件,便于观察文件的分布信息
[Assassin@Ninghai ~]$ ls -R
2. pwd指令:
语法: pwd
功能: pwd即为print working directory,也就是打印工作目录,即显示当前工作目录的绝对路径
显示的路径为绝对路径
3. whoami指令:
语法: whoami
功能: 显示用户当前的身份,相当于 id -un
who are you,who is he等命令都有相似的作用
4. cd指令:
语法: cd [目录名]
功能: 改变工作目录。将当前工作目录改变到指定的目录下。
绝对路径 | 使用绝对路径改变当前工作目录,直接跳转到该路径(绝对路径为从根目录/延伸出来的路径,路径唯一) |
---|---|
相对路径 | 使用相对路径改变当前工作目录,以自身当前所在路径为参照进行路径跳转,路径不唯一 |
– | 仅使用”-“选项时,当前目录将被切换到环境变量"OLDPWD"对应值的目录 ,也就是跳转到上一次所在目录 |
~ | 切换至当前用户工作目录 |
. . | 切换至当前目录位置的上一级目录 |
① cd 绝对路径:直接从根目录 / 一级一级往下走,直到目标目录
[Assassin@Ninghai ~]$ cd /etc/java/security/security.d/
② cd 相对路径:通过当前路径先进入上一级目录,最后再进入py_code
[Assassin@Ninghai ~]$ cd shell_code/
[Assassin@Ninghai shell_code]$ cd ../py_code/
[Assassin@Ninghai py_code]$ pwd
/home/Assassin/py_code
③ cd -:从py_code回到了上次的shell_code
[Assassin@Ninghai py_code]$ cd -
/home/Assassin/shell_code
④ cd ~:回到当前用户的工作目录,从shell_code直接回到了工作目录
[Assassin@Ninghai shell_code]$ cd ~
[Assassin@Ninghai ~]$ pwd
/home/Assassin
⑤ cd . . :回到当前目录的上一级目录,这里是从Assassin工作目录回到上一级的home目录
[Assassin@Ninghai ~]$ cd ..
[Assassin@Ninghai home]$ pwd
/home
5. clear指令:
语法: clear
功能: 清空当前屏幕
clear执行前:
clear执行后:
小贴士:ctrl + L也是清屏功能
6. echo指令:
语法: echo [参数] [字符串]
功能: echo命令用于在终端设备上输出字符串或变量提取后的值
一般使用在变量前加上 符 号 的 方 式 提 取 出 变 量 的 值 , 例 如 : 符号的方式提取出变量的值,例如: 符号的方式提取出变量的值,例如:PATH,然后再用echo命令予以输出,或者直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用
[Assassin@Ninghai ~]$ echo $PATH
[Assassin@Ninghai ~]$ echo 'hello linux!'
解析变量的含义或者直接打印出字符串:
7. touch指令:
语法: touch [参数] [文件名]
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。
注意:在修改文件的时间属性的时候,用户必须是文件的所有者,或拥有写文件的访问权限
常用选项:
-a | 改变档案的读取时间记录 |
---|---|
-m | 改变档案的修改时间记录 |
-r | 使用参考档的时间记录,与 --file 的效果一样 |
-c | 不创建新文件 |
-d | 设定时间与日期,可以使用各种不同的格式 |
-t | 设定档案的时间记录,格式与 date 命令相同 |
- -no-create | 不创建新文件 |
- -help | 显示帮助信息 |
- -version | 列出版本信息 |
① 不带参数创建一个普通文件:
[Assassin@Ninghai temp]$ touch it's_a_test.txt
② 批量创建文件:
[Assassin@Ninghai temp]$ touch file1..5.txt
③ 修改文件的access(访问)时间:
[Assassin@Ninghai temp]$ touch -a it_is_a_test.txt
8. mkdir指令:
语法: mkdir [参数] [文件夹名]
功能: 在当前目录下创建一个空目录。mkdir命令是"make directories"的缩写,用来创建目录。
默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录。
常用选项:
-p | 递归创建多级目录 |
---|---|
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
① 不带参数创建一个空目录:
[Assassin@Ninghai temp]$ mkdir emptyDir
② 带有-m参数创建文件夹,设置文件所有者有读、写和执行权限,其他人无权访问:
[Assassin@Ninghai temp]$ mkdir -m 700 test-m-Dir
可以看到test-m-Dir文件夹的所有者有rwx权限,也就是读,写,执行权限,而所属组跟Other没有权限:
③ 批量创建文件夹:
[Assassin@Ninghai temp]$ mkdir dira..f
④ -p 参数递归创建目录,可创建多级目录:
[Assassin@Ninghai emptyDir]$ mkdir -p A/B/C
可以看到创建了A,B,C三级目录
9. rmdir指令:
语法: rmdir [参数] [文件名]
功能: 删除一个空目录,rmdir命令作用是删除空的目录,英文全称:“remove directory”
rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有"-r"选项的rm命令。rmdir命令的"-p"参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录
-p | 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错 |
---|---|
- - ignore-fail-on-non-empty | 忽略由于删除非空目录时导致命令出错而产生的错误信息 |
-v | 显示命令的详细执行过程 |
① 删除空目录:可以看到emptyDir被干掉了
[Assassin@Ninghai temp]$ rmdir emptyDir/
② 递归删除指定的目录树:当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除
[Assassin@Ninghai test-m-Dir]$ rmdir -p A/B/C
可以看到A,B,C三级目录全部被干掉了
③ 显示指令详细执行过程:
[Assassin@Ninghai temp]$ rmdir -v dira..f
可以看到批量创建的a到f文件夹全部被删除,并且-v显示删除信息
10. rm指令:
语法: rm [参数] [文件名或文件夹名]
功能: 删除文件或目录,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除
对于链接文件,只是删除了链接,原有文件均保持不变。 rm是相对来说是一个危险的命令,使用的时候要特别当心,尤其对于小白来说,例如 rm -rf /* 可以将整个操作系统摧毁。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
常用选项:
-f | 忽略不存在的文件,不会出现警告信息(强制,不询问) |
---|---|
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
① -i,删除前逐一询问确认:
[Assassin@Ninghai temp]$ rm -i demo.txt
② -f,直接删除,不会有任何提示:
[Assassin@Ninghai temp]$ rm -f demo.txt
可以看到没有任何提示信息,强制删除
③ -r/-R,递归删除目录及目录下所有文件:
[Assassin@Ninghai temp]$ rm -r test-m-Dir/
可以看到temp文件夹的目录结构,test-m-Dir中有一个文件夹dir1和一个文件file.cpp,执行 rm -r test-m-Dir后,temp下只剩下demo.txt和rubbish
④ 可以搭配通配符使用,比如搭配 * :
先在当前目录下创建100个file.txt文件,演示用通配符 * 来删除之
[Assassin@Ninghai temp]$ rm file*.txt
所有的带file的文件均被删除:
注意:
rm -rf /* ----禁用,此操作会递归删除操作系统中所有文件
11. man指令:
语法: man [参数] 指令
功能: 查看指令的使用规则
man命令是Linux下最核心的命令之一,man命令并不是男人的意思,它是单词manual的缩写,即使用手册的意思。
man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是,不仅可以查看Linux中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息。man手册页文件存放在/usr/share/man目录下。
常用选项:
-a | 在所有的man帮助手册中搜索 |
---|---|
-d | 主要用于检查,如果用户加入了一个新的文件,就可以用这个参数检查是否出错 |
-f | 显示给定关键字的简短描述信息 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-k | 根据关键字搜索联机帮助 |
num | 只在第num章节查找 |
-w | 显示文件所在位置 |
man命令内容组成的介绍:共10章
- 用户命令的使用方法,可以使用的参数等 (可执行程序或shell命令)
- 系统调用,只有系统才能执行的函数
- 库调用,大多是libc函数,如qsort(3)
- 设备和特殊文件
- 文件格式和约定
- 游戏
- 宏命令包和约定
- 系统管理命令,多数只有root可以执行
- 内核程序
- Tcl或Tk指令
比如执行 man ls:
按enter或者space下翻,按q退出man手册:
12. cp指令:
语法: cp [参数] [源文件或目录] [目标文件或目录]
功能: 复制文件或目录
cp即为copy的缩写,其功能为复制文件或目录到指定路径
常用选项:
-f | 若目标文件已存在,则会直接覆盖原文件 |
---|---|
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于" -dpr "选项 |
① -f 或 --force 强行复制文件或目录,不论目标文件或目录是否已经存在:
[Assassin@Ninghai temp]$ cp -f test.cpp ..
上级目录中有一个同名的test.cpp文件,cp加上-f参数后,系统不给任何提示,直接强制覆盖操作:
② -i 或 --interactive 覆盖文件之前先询问用户:
[Assassin@Ninghai temp]$ cp -i test.cpp ..
cp加上-i参数后,在上级目录中存在同名文件test.cpp时,os进行了询问是否覆盖:
③ -r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的属性不属于目录或符号链接,则一律视为普通文件处理:
[Assassin@Ninghai temp]$ cp -r test ./for_test/
将test文件夹连同子文件递归复制到for_test文件夹中:
同样的,cp指令也能搭配通配符进行批量化操作,这里不再演示~~
13. mv指令:
语法: mv [参数] [源文件或目录] [目标文件或目录]
功能: 移动文件/目录或对其改名
一个有点啥b的提示:
mv与cp的结果不同。mv命令好像文件"搬家",类似windows中的剪切,cp是单纯的复制了,自己也保留了一份。
常用选项:
-i | 若存在同名文件,则向用户询问是否覆盖 |
---|---|
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
① 将文件file_1重命名为file_2:
[Assassin@Ninghai temp]$ mv file_1 file_2
② 将文件file_2移动到目录test中 :
[Assassin@Ninghai temp]$ mv file_2 ./test
-i,-f参数可以类比cp指令,也是起到操作前是否询问的作用,这里不再演示。
14. cat指令:
语法: cat [参数] [文件]
功能: 查看目标文件的内容
常用选项:
n | 显示行数(空行也编号) |
---|---|
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I 符号 |
① 查看文件的内容:
vim procbar.cpp:
[Assassin@Ninghai temp]$ cat procbar.cpp
完整显示文件内容:
② -n 查看文件的内容,并显示行数编号:
[Assassin@Ninghai temp]$ cat -n procbar.cpp
将文件中的内容显示对应行号:
③ 查看文件的内容,并输出到另外一个文件中(重定向):
[Assassin@Ninghai temp]$ cat procbar.cpp > procbar.cpp.bak
[Assassin@Ninghai temp]$ cat procbar.cpp.bak
将文件procbar.cpp内容重定向到procbar.cpp.bak副本中:
④ 清空文件的内容:
/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF,简单理解为黑洞,里面啥也没有,你写东西进去也会消失:
⑤ 持续写入文件内容,碰到EOF符后结束并保存:
[Assassin@Ninghai temp]$ cat >> filename.txt << EOF
> hello
> i feel good
> shall we take the basketball?
> EOF
15. tac指令:
语法: tac [参数] [文件]
功能: 反向查看目标文件的内容
很明显,cat倒过来就是tac,tac命令就是将文件反向输出,刚好和cat输出相反
常用选项:
-b | 在行前而非行尾添加分隔标志 |
---|---|
-r | 将分隔标志视作正则表达式来解析 |
-s | 使用指定字符串代替换行作为分隔标志 |
[Assassin@Ninghai temp]$ tac filename.txt
16. more指令:
语法: more 文件
功能: 查看目标文件的内容
more命令用于将内容较长的文本文件内容(不能在一屏显示完)进行分屏显示,并且支持在显示时定位关键字,而对于内容较少的文本文件内容则推荐使用cat命令查看
常用选项:
-num | 指定每屏显示的行数 |
---|---|
-l | more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 |
-f | 计算实际的行数,而非自动换行的行数 |
-p | 先清除屏幕再显示文本文件的剩余内容 |
-c | 与-p相似,不滚屏,先显示内容再清除旧内容 |
-s | 多个空行压缩成一行显示 |
-u | 禁止下划线 |
+num | 从第 num 行开始显示 |
+ /pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
命令内部操作:
- Space键:显示文本的下一屏内容
- Enter键:向下n行,需要定义,默认为1行
- 斜线符\\:接着输入一个模式,可以在文本中寻找下一个相匹配的模式
- h键:显示帮助屏
- b键:显示上一屏内容
- q键:退出more命令
- Ctrl+F、空格键:向下滚动一屏
- Ctrl+B:返回上一屏
- =: 输出当前的行号
- :f:输出文件名和当前的行号
- v:调用vi编辑器
- !:调用Shell,并执行命令
[Assassin@Ninghai temp]$ more info.txt
文章为红楼梦~~
17. less指令:
语法: less [参数] [文件]
功能: 既有查看目标文件的内容的功能,又有搜索功能
用less命令显示文件时,PageUp键向上翻页,PageDown键向下翻页,more跟less都是按q退出
less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向后浏览
常用选项:
-b | 置缓冲区的大小 |
---|---|
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
-g | 只标志最后搜索的关键词 |
-i | 忽略搜索时的大小写 |
-m | 显示类似more命令的百分比 |
-N | 显示每行的行号 |
-o | 将less 输出的内容在指定文件中保存起来 |
-Q | 不使用警告音 |
-s | 显示连续空行为一行 |
-S | 在单行显示较长的内容,而不换行显示 |
-x | 将TAB字符显示为指定个数的空格字符 |
命令内部操作:
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
[Assassin@Ninghai temp]$ less info.txt
文章为红楼梦~~
less常用于给管道符 | 搭配:
① ps查看进程信息并通过less分页显示:
[Assassin@Ninghai temp]$ ps aux | less
② 查看命令历史使用记录并通过less分页显示:
[Assassin@Ninghai temp]$ history | less
18. head指令:
语法: head [参数] [文件]
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行
常用选项:
-n | 后面接数字,代表显示几行的意思 |
---|---|
-c | 指定显示头部内容的字符数 |
-v | 总是显示文件名的头信息 |
-q | 不显示文件名的头信息 |
① -n 显示前n行文件内容:
[Assassin@Ninghai temp]$ head -10 procbar.cpp
显示文件的前10行信息:
② -v 显示文件名信息,并显示文件前n行:
[Assassin@Ninghai temp]$ head -v -n 5 procbar.cpp
打印出文件的文件名信息,取前5行:
③ -c 显示文件前n个字符:
19. tail指令:
语法: tail [选项] [文件]
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行
常用选项:
-n | 后面接数字,代表显示几行的意思(从文末打印n行) |
---|---|
-c | 指定显示尾部内容的字符数 |
-f | 循环读取,一直变化的文件总是显示固定行数 |
① -n 显示文件的最后n行:
[Assassin@Ninghai temp]$ tail -n 10 procbar.cpp
显示文件的后10行:
② -c 显示文件的最后n个字符:
[Assassin@Ninghai temp]$ tail -c 10 procbar.cpp
显示文件的最后10个字符:
③ -f 一直变化的文件总是显示后n行:
[Assassin@Ninghai temp]$ tail -f 10 procbar.cpp
这里简单介绍一哈管道 |:
管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin),简单来讲就是可以实现连续执行命令,将前一次命令的输出结果作为下一次命令的输入
例如我想只查看info.txt中200行到210行的内容,其他内容都给过滤掉,如下图所示:
可以借助管道 | 来实现:
[Assassin@Ninghai temp]$ head -210 info.txt | tail -11
先将info.txt中前210行内容取出,将其结果通过管道传入到tail中,tail -11取出结果的后11行,也就是200-210共11行数据:
20. date指令:
语法: date [参数] [格式]
功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换
%s表示打印出时间戳,date -d @时间戳 可以得到该时间戳对应的时间,%Y表示年份,%m表示月份,%d表示天数,%H表示小时数,%M表示分钟数,%S表示秒数
%X 相当于%H:%M:%S :
%F 相当于%Y-%m-%d:
21. cal指令:
语法: cal [参数] [月份] [年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。
常用选项:
-1 | 单月份输出日历 |
---|---|
-3 | 显示最近三个月的日历 |
-s | 将星期天作为月的第一天 |
-m | 将星期一作为月的第一天 |
-j | 显示在当年中的第几天 |
-y | 显示当年的日历 |
① 显示当前月份的日历:
② 显示近期三个月的日历(当前月,上一个月和下一个月):
一文理解Linux的基本指令(下)(三分钟学会Linux基本指令)
Linux编程一Linux常见指令和权限理解(思维导图总结)
Linux编程一Linux常见指令和权限理解(思维导图总结)
Linux编程一Linux常见指令和权限理解(思维导图总结)