• 售前

  • 售后

热门帖子
入门百科

【linux:基本指令操作】常见指令操作及总结

[复制链接]
大路84 显示全部楼层 发表于 2022-1-12 12:09:09 |阅读模式 打印 上一主题 下一主题
linux常见命令行操作及总结

  1. 正文开始@Assassin
复制代码

目录:



一些有趣的命令:

① 小火车 sl
  1. [Assassin@Ninghai ~]$ sl
复制代码

sl 安装:
  1. [Assassin@Ninghai ~]$ sudo yum install -y sl
复制代码
安装失败的(找不到安装包)可以下载epel第三方源安装,安装完成后再执行sl安装就ok
  1. [Assassin@Ninghai ~]$ sudo yum install -y epel-release
复制代码
② cowsay动画:
  1. [Assassin@Ninghai ~]$ cowsay Lebron James nb!
复制代码

cowsay 安装:
  1. [Assassin@Ninghai ~]$ sudo yum install -y cowsay
复制代码
按理来说,安装了cowsay之后,animalsay 也能用了,animalsay每次的小动物是随机的~~

③ boxes指定动画:
  1. [Assassin@Ninghai ~]$ echo "Stephen Curry is an elementary school student" | boxes -d dog
复制代码

boxes 安装:
  1. [Assassin@Ninghai ~]$ sudo yum install -y boxes
复制代码
④ 黑屏显示天气:
  1. [Assassin@Ninghai ~]$ curl http://wttr.in
复制代码

⑤ elinks终端访问网页:
  1. [Assassin@Ninghai ~]$ elinks www.baidu.com
复制代码

挺丑的,按 q 退出网页

elinks 安装:
  1. [Assassin@Ninghai ~]$ sudo yum install -y elinks
复制代码
⑥ lrzsz拖拽式传输文件:
支持小文件之间从windows传输到linux,虽然在xftp前显得很鸡肋,不过很方便:

lrzsz安装:
  1. [Assassin@Ninghai ~]$ sudo yum install -y lrzsz
复制代码
1. ls指令:

   语法: ls [选项] [目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件;对于文件,该命令会列出文件名及其他有关信息
  1. [Assassin@Ninghai ~]$ ls
复制代码

ls常用选项:
-a显示所有文件及目录 (包括以"."开头的隐藏文件)-l使用长格式列出文件及目录信息-r将文件以相反次序显示(默认依英文字母次序)-t根据最后的修改时间排序-S根据文件大小排序-R递归列出所有子目录① ls -l:列出文件的详细信息,包括文件的类型,所有者,所属组及相关的权限,文件的大小,文件的创建日期等
  1. [Assassin@Ninghai ~]$ ls -l
复制代码

小贴士:这里的 ls -l 可以简写为 ll ,因为:

alias是取别名的意思,这里os把 ls -l 取了一个别名 ll,自然也能用 ll 代替 ls -l
  1. alias ll='ls -l --color=auto'
  2.         /usr/bin/ls
复制代码
② ls -a:列出目录下的所有文件,包括以 . 开头的隐含文件,在linux中,以.开头的文件或目录被认为是默认不可见的
  1. [Assassin@Ninghai ~]$ ls -a
复制代码

可以看到列举出来的文件或文件夹都是以.开头,这些文件不能被直接可见,可以理解为一些重要文件不想被他人直接看到。在Linux当中,每个目录下默认存在两个隐含文件 . 和 . . ( . 代表当前目录 . . 代表上级目录)
③ ls -d:将目录像文件一样显示,而不是显示文件夹的文件
  1. [Assassin@Ninghai ~]$ ls -d /home/Assassin/shell_code/
复制代码

④ ls -i:输出文件的i节点的索引信息,也就是我们所说的inode信息。linux中不以文件的后缀作为区分文件类型的标准,文件后缀只是为了对比windows方便记忆和识别,而真正区分linux文件的是inode信息
  1. [Assassin@Ninghai ~]$ ls -i
复制代码

文件名前面的数字就是inode,作为linux文件的唯一标识
⑤ ls -h:以人类能看懂的方式输出信息,-h也就是-human的意思,一般来说是搭配其他参数使用,如 ls -lh
  1. [Assassin@Ninghai ~]$ ls -lh
复制代码

单纯的 ls -l 输出的文件大小信息是以字节为单位,加上-h后就是我们熟悉的K或者M
⑥ ls -R:递归列出所有子目录下的文件,便于观察文件的分布信息
  1. [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 绝对路径:直接从根目录 / 一级一级往下走,直到目标目录
  1. [Assassin@Ninghai ~]$ cd /etc/java/security/security.d/
复制代码

② cd 相对路径:通过当前路径先进入上一级目录,最后再进入py_code
  1. [Assassin@Ninghai ~]$ cd shell_code/
  2. [Assassin@Ninghai shell_code]$ cd ../py_code/
  3. [Assassin@Ninghai py_code]$ pwd
  4. /home/Assassin/py_code
复制代码

③ cd -:从py_code回到了上次的shell_code
  1. [Assassin@Ninghai py_code]$ cd -
  2. /home/Assassin/shell_code
复制代码

④ cd ~:回到当前用户的工作目录,从shell_code直接回到了工作目录
  1. [Assassin@Ninghai shell_code]$ cd ~
  2. [Assassin@Ninghai ~]$ pwd
  3. /home/Assassin
复制代码

⑤ cd . . :回到当前目录的上一级目录,这里是从Assassin工作目录回到上一级的home目录
  1. [Assassin@Ninghai ~]$ cd ..
  2. [Assassin@Ninghai home]$ pwd
  3. /home
复制代码

5. clear指令:

   语法: clear
功能: 清空当前屏幕
  clear执行前:

clear执行后:

小贴士:ctrl + L也是清屏功能
6. echo指令:

   语法: echo [参数] [字符串]
功能: echo命令用于在终端设备上输出字符串或变量提取后的值
  一般使用在变量前加上                              符                      号                      的                      方                      式                      提                      取                      出                      变                      量                      的                      值                      ,                      例                      如                      :                          符号的方式提取出变量的值,例如:               符号的方式提取出变量的值,例如:PATH,然后再用echo命令予以输出,或者直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用
  1. [Assassin@Ninghai ~]$ echo $PATH
  2. [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列出版本信息① 不带参数创建一个普通文件:
  1. [Assassin@Ninghai temp]$ touch it's_a_test.txt
复制代码

② 批量创建文件:
  1. [Assassin@Ninghai temp]$ touch file{1..5}.txt
复制代码

③ 修改文件的access(访问)时间:
  1. [Assassin@Ninghai temp]$ touch -a it_is_a_test.txt
复制代码

8. mkdir指令:

   语法: mkdir [参数] [文件夹名]
功能: 在当前目录下创建一个空目录。mkdir命令是"make directories"的缩写,用来创建目录。
  默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录。
常用选项:
-p递归创建多级目录-m建立目录的同时设置目录的权限-z设置安全上下文-v显示目录的创建过程① 不带参数创建一个空目录:
  1. [Assassin@Ninghai temp]$ mkdir emptyDir
复制代码

② 带有-m参数创建文件夹,设置文件所有者有读、写和执行权限,其他人无权访问:
  1. [Assassin@Ninghai temp]$ mkdir -m 700 test-m-Dir
复制代码
可以看到test-m-Dir文件夹的所有者有rwx权限,也就是读,写,执行权限,而所属组跟Other没有权限:

③ 批量创建文件夹:
  1. [Assassin@Ninghai temp]$ mkdir dir{a..f}
复制代码

④ -p 参数递归创建目录,可创建多级目录:
  1. [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被干掉了
  1. [Assassin@Ninghai temp]$ rmdir emptyDir/
复制代码

② 递归删除指定的目录树:当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除
  1. [Assassin@Ninghai test-m-Dir]$ rmdir -p  A/B/C
复制代码
可以看到A,B,C三级目录全部被干掉了

③ 显示指令详细执行过程:
  1. [Assassin@Ninghai temp]$ rmdir -v dir{a..f}
复制代码
可以看到批量创建的a到f文件夹全部被删除,并且-v显示删除信息

10. rm指令:

   语法: rm [参数] [文件名或文件夹名]
功能: 删除文件或目录,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除
  对于链接文件,只是删除了链接,原有文件均保持不变。 rm是相对来说是一个危险的命令,使用的时候要特别当心,尤其对于小白来说,例如 rm -rf /* 可以将整个操作系统摧毁。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
常用选项:
-f忽略不存在的文件,不会出现警告信息(强制,不询问)-i删除前会询问用户是否操作-r/R递归删除-v显示指令的详细执行过程① -i,删除前逐一询问确认:
  1. [Assassin@Ninghai temp]$ rm -i demo.txt
复制代码

② -f,直接删除,不会有任何提示:
  1. [Assassin@Ninghai temp]$ rm -f demo.txt
复制代码
可以看到没有任何提示信息,强制删除

③ -r/-R,递归删除目录及目录下所有文件:
  1. [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文件,演示用通配符 * 来删除之

  1. [Assassin@Ninghai temp]$ rm file*.txt
复制代码
所有的带file的文件均被删除:

注意:
  1. 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 强行复制文件或目录,不论目标文件或目录是否已经存在:
  1. [Assassin@Ninghai temp]$ cp -f test.cpp ..
复制代码
上级目录中有一个同名的test.cpp文件,cp加上-f参数后,系统不给任何提示,直接强制覆盖操作:

② -i 或 --interactive 覆盖文件之前先询问用户:
  1. [Assassin@Ninghai temp]$ cp -i test.cpp ..
复制代码
cp加上-i参数后,在上级目录中存在同名文件test.cpp时,os进行了询问是否覆盖:

③ -r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的属性不属于目录或符号链接,则一律视为普通文件处理:
  1. [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:
  1. [Assassin@Ninghai temp]$ mv file_1 file_2
复制代码

② 将文件file_2移动到目录test中 :
  1. [Assassin@Ninghai temp]$ mv file_2 ./test
复制代码

-i,-f参数可以类比cp指令,也是起到操作前是否询问的作用,这里不再演示。
14. cat指令:

   语法: cat [参数] [文件]
功能: 查看目标文件的内容
  常用选项:
n显示行数(空行也编号)-s显示行数(多个空行算一个编号)-b显示行数(空行不编号)-E每行结束处显示$符号-T将TAB字符显示为 ^I 符号① 查看文件的内容:
vim procbar.cpp:

  1. [Assassin@Ninghai temp]$ cat procbar.cpp
复制代码
完整显示文件内容:

② -n 查看文件的内容,并显示行数编号:
  1. [Assassin@Ninghai temp]$ cat -n procbar.cpp
复制代码
将文件中的内容显示对应行号:

③ 查看文件的内容,并输出到另外一个文件中(重定向):
  1. [Assassin@Ninghai temp]$ cat procbar.cpp > procbar.cpp.bak
  2. [Assassin@Ninghai temp]$ cat procbar.cpp.bak
复制代码
将文件procbar.cpp内容重定向到procbar.cpp.bak副本中:

④ 清空文件的内容:
/dev/null(或称空设备)在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF,简单理解为黑洞,里面啥也没有,你写东西进去也会消失:

⑤ 持续写入文件内容,碰到EOF符后结束并保存:
  1. [Assassin@Ninghai temp]$ cat >> filename.txt << EOF
  2. > hello
  3. > i feel good
  4. > shall we take the basketball?
  5. > EOF
复制代码

15. tac指令:

   语法: tac [参数] [文件]
功能: 反向查看目标文件的内容
  很明显,cat倒过来就是tac,tac命令就是将文件反向输出,刚好和cat输出相反
常用选项:
-b在行前而非行尾添加分隔标志-r将分隔标志视作正则表达式来解析-s使用指定字符串代替换行作为分隔标志
  1. [Assassin@Ninghai temp]$ tac filename.txt
复制代码

16. more指令:

   语法: more 文件
功能: 查看目标文件的内容
  more命令用于将内容较长的文本文件内容(不能在一屏显示完)进行分屏显示,并且支持在显示时定位关键字,而对于内容较少的文本文件内容则推荐使用cat命令查看
常用选项:
-num指定每屏显示的行数-lmore在通常情况下把 ^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,并执行命令
  1. [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 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  1. [Assassin@Ninghai temp]$ less info.txt
复制代码
文章为红楼梦~~

less常用于给管道符 | 搭配:
① ps查看进程信息并通过less分页显示:
  1. [Assassin@Ninghai temp]$ ps aux | less
复制代码

② 查看命令历史使用记录并通过less分页显示:
  1. [Assassin@Ninghai temp]$ history | less
复制代码

18. head指令:

   语法: head [参数] [文件]
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行
  常用选项:
-n后面接数字,代表显示几行的意思-c指定显示头部内容的字符数-v总是显示文件名的头信息-q不显示文件名的头信息① -n 显示前n行文件内容:
  1. [Assassin@Ninghai temp]$ head -10 procbar.cpp
复制代码
显示文件的前10行信息:

② -v 显示文件名信息,并显示文件前n行:
  1. [Assassin@Ninghai temp]$ head -v -n 5 procbar.cpp
复制代码
打印出文件的文件名信息,取前5行:

③ -c 显示文件前n个字符:

19. tail指令:

   语法: tail [选项] [文件]
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行
  常用选项:
-n后面接数字,代表显示几行的意思(从文末打印n行)-c指定显示尾部内容的字符数-f循环读取,一直变化的文件总是显示固定行数① -n 显示文件的最后n行:
  1. [Assassin@Ninghai temp]$ tail -n 10 procbar.cpp
复制代码
显示文件的后10行:

② -c 显示文件的最后n个字符:
  1. [Assassin@Ninghai temp]$ tail -c 10 procbar.cpp
复制代码
显示文件的最后10个字符:

③ -f 一直变化的文件总是显示后n行:
  1. [Assassin@Ninghai temp]$ tail -f 10 procbar.cpp
复制代码

这里简单介绍一哈管道 |:
管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin),简单来讲就是可以实现连续执行命令,将前一次命令的输出结果作为下一次命令的输入

例如我想只查看info.txt中200行到210行的内容,其他内容都给过滤掉,如下图所示:
可以借助管道 | 来实现:
  1. [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显示当年的日历① 显示当前月份的日历:

② 显示近期三个月的日历(当前月,上一个月和下一个月):

③ 显示指定年月的日历:
比如2021年1月的日历:

22. find指令:

   语法: find [路径] [选项] [查找和搜索的条件]
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘->效率比较低)
  常用选项:
-name按名称查找-size按大小查找-user按属性查找-type按类型查找-iname忽略大小写① -name 按照文件名查找文件:
  1. [Assassin@Ninghai ~]$ find /home/Assassin/temp -name *.txt
复制代码
-name 参数 搭配通配符查看在指定目录下的.txt文件:

② -size 按照文件大小查找文件:
-size 参数查找符合条件的文件,打印出其路径。
+30M意思是大于30M的文件:
  1. [Assassin@Ninghai ~]$ find /home/Assassin/temp -size +30M
复制代码

-30M自然是小于30M的文件,30M是查找刚好是30M的文件:
  1. [Assassin@Ninghai ~]$ find /home/Assassin/temp -size -30M
复制代码

③ -type 参数,查找指定类型的文件:
  1. [Assassin@Ninghai ~]$ find /home/Assassin/temp -type f
  2. [Assassin@Ninghai ~]$ find /home/Assassin/temp -type d
复制代码
-type f 是查找普通文件类型,- type d 是查找文件夹类型:

23. which指令:

   语法: which [命令]
功能: 用于查找某一指令的程序文件所在路径
  which一般在PATH中查找,我们所使用的命令行也是放在PATH路径下,添加进PATH的目录下的可执行文件可以直接执行(类比环境变量),不需要额外带路径:
  1. [Assassin@Ninghai ~]$ which ls
复制代码

echo 查看一下PATH中有哪些目录:
  1. [Assassin@Ninghai ~]$ echo $PATH
复制代码
可以看到我们熟悉的/usr/bin添加进了PATH中,而我们常用的shell命令一般都放在/usr/bin中,这也是我们在执行 ls 不需要带路径的原因

不妨看看 /usr/bin 中的内容:显然是我们所使用的一些命令,如javac,pwd,alias,python等
  1. [Assassin@Ninghai ~]$ ls /usr/bin
复制代码

24. alias指令:

   语法: alias 别名=‘原名’
功能: 可以用于给指令取别名
  alias命令的作用只局限于此次登录的操作,如果想要每次登录都能够使用这些命令别名,则需要将相应的alias命令存放到bash的初始化文件 /etc/bashrc 中
常用选项:
-p打印已经设置的命令别名① alias 设置别名:
  1. [Assassin@Ninghai ~]$ alias sb='ls -laih'
复制代码

② alias -p 查看已经设置好的别名:
  1. [Assassin@Ninghai ~]$ alias -p
复制代码

25. grep指令:

   语法: grep [参数] [搜寻字符串] [文件]
功能: 在文件中搜索字符串,将找到的行打印出来
  常用选项:
-i忽略大小写进行搜索-n列出所有的匹配行并显示行号-v显示不包含匹配文本的所有行,反向搜索① grep 无参数查找:
  1. [Assassin@Ninghai temp]$ grep "忘不了" info.txt
复制代码

② -i 忽略大小写进行查找:
  1. [Assassin@Ninghai temp]$ grep "hello" -i test_for_grep.txt
复制代码
hello跟Hello都被查找出来:

③ -n 输出行号:
  1. [Assassin@Ninghai temp]$ grep "忘不了" -n info.txt
复制代码
含有 " 忘不了 " 的行数的行号:

④ -v 反向选择,显示出没有待搜索字符串的行:
  1. [Assassin@Ninghai temp]$ grep "hello" -v test_for_grep.txt
复制代码
反向搜索,除了hello,其他全部打印出来:

26. useradd/userdel/groupadd/groupdel指令:

useradd:
  1. [root@Ninghai ~]# useradd meiyangyang
复制代码
创建用户美羊羊:

userdel:
  1. [root@Ninghai ~]# userdel -r meiyangyang
复制代码
删除用户美羊羊,-r 参数是将 /home 中的meiyangyang目录也一并删除:
groupadd:
  1. [root@Ninghai ~]# groupadd meiyangyang
复制代码

  1. [root@Ninghai ~]# cat /etc/group
复制代码

groupdel:
  1. [root@Ninghai ~]# groupdel meiyangyang
复制代码

  1. [root@Ninghai ~]# cat /etc/group
复制代码
meiyangyang组已经被删除

27. zip指令:

   语法: zip [参数] [压缩文件.zip] [待打包目录或文件]
功能: 将目录或文件打包压缩成zip格式
  zip命令可将一个或多个压缩文件及其有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起打包进一个压缩存档.zip
常用选项:
-q不显示指令执行过程-r递归处理,将指定目录下的所有文件和子目录一并处理-z替压缩文件加上注释-v显示指令执行过程或显示版本信息① -r 递归压缩:
  1. [Assassin@Ninghai temp]$ zip -r temp.zip ./*
复制代码

生成一个temp.zip文件

28. unzip指令:

   语法: unzip [压缩文件.zip] [参数] [指定目录]
功能: 将压缩文件解压到指定目录当中
  常用选项:
-l显示压缩文件内所包含的文件-v执行时显示详细的信息-c将解压缩的结果显示到屏幕上,并对字符做适当的转换-n解压缩时不要覆盖原有的文件-d指定解压的路径,不指定默认为当前目录① -d 解压缩到指定路径:
  1. [Assassin@Ninghai temp]$ unzip temp.zip -d ./test
复制代码

查看一下test文件夹:

29. tar指令:

   语法: tar [参数] [文件或目录]
功能: 打包/解包,不解开压缩包,直接查看里面内容
  tar命令可以为linux的文件和目录创建压缩档案。利用tar可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件
常用选项:
-A新增文件到以存在的备份文件-B设置区块大小-c建立新的备份文件-C 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录-d记录文件的差别-x从归档文件中提取文件-t列出备份文件的内容-z通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz-Z通过compress指令处理备份文件-f指定备份文件-v显示指令执行过程-r添加文件到已经压缩的文件-u添加改变了和现有的文件到已经存在的压缩文件-j通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2-v显示操作过程-l文件系统边界设置-k保留原有文件不覆盖-m保留文件不被覆盖-w确认压缩文件的正确性-p保留原来的文件权限与属性-P使用文件名的绝对路径,不移除文件名称前的“/”号① 打包并压缩:
  1. [Assassin@Ninghai temp]$ tar -zcvf temp.tgz ./*
复制代码

② 解压缩:
  1. [Assassin@Ninghai temp]$ tar -zxvf temp.tgz -C test
复制代码

ls 查看一下 test 中的内容:

③ 不解开压缩包,直接查看里面内容:
  1. [Assassin@Ninghai temp]$ tar -tf temp.tgz
复制代码

30. file指令:

   语法: file [参数] [文件]
功能: 查看文件的更多属性信息
  file命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型
file 一般不使用参数,有一说一,参数没啥用,直接file + 文件名就完事
  1. [Assassin@Ninghai temp]$ file procbar.cpp
复制代码

31. bc指令:

   语法: bc
功能: 进行算数运算
  bc即 Binary Calculator ,是一种支持任意精度的交互执行的计算器语言,bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,整数就更不用说了
常用选项:
-i强制进入交互式模式-l定义使用的标准数学库-w定义使用的标准数学库-q打印正常的GNU bc环境信息① bc交互:

② 执行浮点运算和一些高级函数:

32. uname指令:

   语法: uname [参数]
功能: 用于获取计算机和操作系统的相关信息
  uname命令的英文全称即 Unix name ,用于显示系统相关信息,比如主机名、内核版本号、硬件架构等,如果未指定任何选项,其效果相当于执行 uname -s 命令,即显示系统内核的名字
常用选项:
-a显示系统所有相关信息-m显示计算机硬件架构-n显示主机名称-r显示内核发行版本号-s显示内核名称-v显示内核版本-p显示主机处理器类型-o显示操作系统名称-i显示硬件平台① -a 显示系统主机名、内核版本号、CPU类型等信息:
  1. [Assassin@Ninghai temp]$ uname -a
复制代码

② -r 显示当前系统的内核版本:
  1. [Assassin@Ninghai temp]$ uname -r
复制代码

33. history指令:

   语法: history [参数]
功能: history命令用于显示用户以前执行过的历史命令
  history 命令还能对历史命令进行追加和删除等操作
  1. [Assassin@Ninghai temp]$ history 10
复制代码
显示最近10条执行的记录,不带参数默认把全部信息打印出:

使用 ! n可以快速执行对应的指令:
例如 ! 1098 直接执行了 ls 命令,另外 !! 双感叹号可执行最近一次的操作:

34. exit/logout指令:

   语法: exit / logout
功能: 退出终端,退出当前登录用户
  1. [Assassin@Ninghai temp]$ exit
复制代码
exit 与 logout 功能类似,另外 ctrl + D 也可以退出当前登录:

基本命令就这样,over~

来源:https://blog.caogenba.net/b_ingram/article/details/122412424
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作