Linux系统_基础命令

 1、创建目录:mkdir

创建一个叫a的空目录:mkdir  a

创建多个目录:   make dir a b c d        make dir{1..5}

创建aa下的bb下的cc目录: mkdir  -p  aa/bb/cc/dd  (当父目录不存在的时候,同时创建父目录)

 

创建带权限的目录:mkdir -m 权限  dirname

创建带权限的目录同时,显示创建过程:mkdir -v 权限 dirname 

 

2、创建文件:touch、echo、vi

(1)touch:

创建1个/多个文件:    touch file1.txt    ;    touch  文件名1  文件名2  文件名3

touch修改文件的access time:touch -a filename

 touch修改文件的modify time:touch -m filename

将a文件的时间属性修改为b文件的时间: touch a.txt -r b.txt

修改文件时间为任意时间:

touch -d 'tomorrow' filename    touch -t time filename

 

(2)echo:

echo "文本内容" > file2.txt

(3)vi:

vi file3.txt

3、删除文件或目录:removermdir

(1)rmdir:

删除空目录:   rmdir  目录名称

删除有递归关系的空目录:   rmdir  -p dir1/dir2/dir3

删除过程可视化:rmdir  -v dir1

 

(2)rm:

语法:rm  -f  文件/目录名称   (f强制删除,没有提示信息)

语法:rm  -r  文件/目录名称   (r表示删除目录)

rm  -rf  aa :删除aa目录以及aa目录下的所有目录

rm  -rf  aa/bb/cc: 只删除cc

rm  -rf  aa/*:删除该目录中的所有文件/目录,aa目录不删除

rm  -rf  xuexi*:删除以学习为名的所有目录文件

 

 

删除前询问用户的操作:  rm -ir filename/dirname

4、文本中截取内容:cut

(TAB键)提取文件中第二列的内容:cut -f number file.txt 

(TAB键)提取文件中除了第二列的其他所有内容:cut -f number --complement file.txt 

 通过特定分隔符,提取文件内容:cut -f 2,3 -d ‘分隔符’  file.txt  

 提取第一个,第4到第6个字节:cut -b 1,4-6 file.txt 

提取第1-3个字符:cut -c 1-3 file.txt 

 提取前number个字符:cut -c -number file.txt 

 提取第number个以后的字符:cut -c number- file.txt 

5、切换目录:cd

(1)cd  ~:切换到当前用户的家目录(windows下的HOME文档)

(2)cd  /:切换到根目录  

例如:cd  /home/test:第一个/表示的是根,后面的/都表示的是下一级

(3)cd .. : 切换到上一级

(4)cd . :切换到当前目录

注意:cd 后面只能跟目录,不能跟文件名

(5)凡是和路径相关的命令,都可使用绝对/相对路径,如mkdir、vim、rm、rmdir、touch

6、打印当前所在位置:pwd

print working directory

语法:pwd    (显示的是绝对路径)

7、显示目录的内容: ls

(1)语法:ls  -al、ls -ll 目录名称 

a显示目录中所有文件,包含隐藏文件;l显示文件/目录的完整信息

参数:-h:以便于人类阅读的方式显示文件的大小

      -tl: 按照时间降序排列

(2)语法:touch  .文件名   (表示新建一个隐藏文件)

dr-xr-xr-x  10  root  root  6  9月18日10:37  lol

(1)第一部分:

第一列:表示的文件属性(d表示目录,-表示普通文件,l表示软链接文件)

二三四列:表示文件所有者对应的权限信息

r:表示可读  w表示可写  x表示可执行,-表示没有权限

五六七列:所在群组中其他用户对应的权限信息

八九十列:任意其他用户对应的权限信息,

(2)第二部分:表示硬链接数,(创建一个硬链接+1,删除一个硬链接-1)

(3)第三部分:文件所有者

(4)第四部分:所在的群组

(5)第五部分:文件的大小,单位是字节(Byte)

8bit=1B(字节);1024B=1KB;1024KB=1MB;1024MB=1G;1024G=1T

(6)第六部分:文件最近修改日期,如果没有修改日期就是创建日期

(7)第七部分:文件/目录名称

(8)文件彩色含义:

蓝色—目录/文件夹;绿色—可执行文件;红色---压缩文件;

浅蓝色---链接文件/快捷方式;灰白色---其他文件

8、复制并粘贴:cp

(1)cp  -r 源目录  目标目录 (r复制目录,复制所有文件)

(2)cp  a  b :复制文件到同一个目录(b为新复制的文件,a源文件还在)不能复制目录

 (3)复制文件到不同目录并且改名:cp  a  /home/test/b

 

 (4)复制目录到不同目录并且改名:cp  -r  /root/a  /home/b/c

复制时对用户进行提示: cp -i f1.txt f2.txt 

复制时对已存在的文件进行备份: cp -b f1.txt f2.txt 

 复制目录,新目录的属性同源目录的属性:cp -a dir1 dir2

9、移动/重命名文件:mv

(1)移动文件到同一个目录(相当于是重命名,源文件不存在):mv  a  b

(2)移动文件到不同目录:mv  a  /home/b

(3)移动文件到不同目录并且改名: mv  a  /home/b/cc

(4)移动目录(不需要加参数):mv  d1  /home/b/

 

 

移动文件时对用户进行提示:  mv -i filename1 filename2

 移动文件时对原文件进行备份:  mv -b filename1 dir1

10、查询帮助文档:man、info、whatis

(1)help:

ls  --help : 查找ls命令的帮助文档

(2)man:

j 、回车:往下翻一行          k:往上翻一行

f、空格:往下翻一页           b:往上翻一页 

/keyword:查找关键字(n :找下一个,shift n :找上一个)

查看 cp命令的帮助手册:

man -f 命令 :查看第几章有提及       man 章节 命令:查看某一章节下命令的帮助信息

man -k disk:查看与disk有关的所有帮助手册

 

(3)info:

n: 翻下一页 (回车:查看本页后面的信息)    p:翻上一页 (退格:查看本页前面的信息)  

b :到帮助信息最开始                                         e :到帮助信息文末

光标至超链接,回车:进入超链接                    l: 退出超链接

(4)whatis: 

相当于man -f

11、查看文件内容:cat、more、less、head、tail、tac

(1)cat :  缺点:文件内容过长,看不到文件的开头

语法:cat  -n 文件名   (显示行号,全部行都显示,包括空行)

 语法:cat  -s 文件名   (去除重复的空行)

语法:cat  -b 文件名   (显示行号,空行没有行号,按顺序往下排列)

 语法:cat  -E 文件名   (每行结束处显示$符号)

重定向文件内容:

cat file1.txt > file2.txt(file2.txt若存在,覆盖文件内容,不存在则新建) 

cat file1.txt >> file2.txt(file2.txt若存在,追加文件内容,不存在则新建) 

 将file1.txt 和file2.txt合并为同一个文件:cat file1.txt file2.txt > file3.txt

一次性查看多个文件的内容:cat file1.txt file2.txt......

 使用cat命令创建文本:cat > file.txt   (回车:继续输入下一行;ctrl+d:保存文本)

(2)more : 缺点:只能往后翻页,不能往前翻页,不能显示行号

语法:more  文件名     (回车:往下翻一行;空格:往下翻一页; 不能回滚;q退出查看  )

 语法:more  -c -number 文件名     一页只显示number行内容

分页显示,遇到2行以上的空行,只显示一行:more  -s -number 文件名     一页只显示number行

 

语法:more  +number 文件名     从第number行开始分页显示  

(3)less: 通常查看内容比较长的文件,可前后翻

 语法:less 文件名   

(回车、j:往下翻一行; k:往上翻一行)

(空格、f:往下翻一页;b:往上翻一页)

文件内查找关键字: /keyword  (n:找下一个;shift+n:找上一个)

 查看多个文件:  less file1.txt file2.txt  (:n浏览下一个文件;   :p浏览上一个文件;q退出)

查看历史输入的命令,分页显示:

 

(4)head :显示文件开头内容,默认只显示10行(包含空行)

语法:head  文件名  查看文件头10行 

语法:head  -n number  文件名  查看文件前number行

 语法:head  -n -number  文件名  查看文件内容,最后-number行不显示

语法:head  -c number  文件名  查看文件前number个字符

 

  语法:head  -c -number  文件名  查看文件内容,最后-number个字符不显示

(5)tail:查看文件的尾几行,默认尾10行

语法:tail  -n number 文件名        表示查看尾number行(包含空行)

 语法:tail +number 文件名        表示从第number行一直查看到文末

 语法:tail  -c number 文件名    表示查看文末最后几个字符(包含隐藏的字符,如每行的换行符)

语法:tail  -f 文件名  动态展示文件尾部内容,即查看日志文件(日志放在/var/log/messages内)

停止查看:ctrl +c

 

 (6)tac file.txt:倒序输出文本内容(从最后一行显示到第一行)

12、查找:grep、find、egrep

(1)grep:相当于是 ctrl+f,在windows下文件内部查找

grep  -n  关键字  文件名/路径,显示行号和内容,较全

统计有几行,只有数字:  grep  -c  关键字  文件名1  文件名2 文件名3     (ctrl+c退出)

grep  -i  关键字  文件名/路径    不区分大小写(无行号)

grep  -E  关键字  文件名/路径    使用正则表达式搜文本,打印结果(无行号)

grep  -E  ‘A|B’  文件名/路径      在文件内/路径下搜索A或者B

在多个文件内搜索某个关键字:grep(-h:不显示文件名称) keyword filename1 filename2

grep -rl keyword 文件  (r:递归搜索   l:只列出符合匹配的文件名,不列出具体的匹配行)

 

 过滤文件中某个关键词,打印其他的信息:grep -v keyword 文件

 

精确匹配某个关键字   grep -x keyword file1 file2 file3

 

 判断某个文件中,是否包含某个关键字,通过返回状态值输出结果(0:包含; 1:不包含)便于在shell脚本中调用

 grep -q keyword file1 file2 file3

(2)find:在计算机内部查找文件

按文件名查找:find  路径  -name  文件名   

 按文件类型查找(f普通文件,d目录,l软链接):find  路径  -type  f/d/l 

按文件大小查找:find  路径  -size  文件名

搜索指定用户所属的文件:find  路径  -user  用户名

按权限查找文件: find 路径 -perm 777 动作

 

 查看当前目录下所有的子目录、文件:find . 

搜索文件名,不区分大小写: find 路径  -iname  ".txt"

 

搜索不以.txt结尾的文件/目录: find 路径 ! -name  ".txt"

 

 搜索6天之内被修改过的文件,并删除(没有真正删除)

(3)egrep:

查找包含keyword的内容:egrep 'keyword' file1 file2 

查找只有keyword的内容:egrep '(keyword)' file1 file2  ​

 查找以某个字符开头的关键字:egrep '^char' file1 file2

  查找以某个关键字结尾:egrep 'keyword$' file1 file2

 

 查找包含ha和he的关键字 :egrep 'h[ae]' file1 file2

13、查看文件属性:stat

access time:文件访问时间    读取文件(more/less/cat/tail)或者修改文件(vi)时,该时间会变化

modify time:文件修改时间    修改文件(vi)时,该时间会变化

change time:状态改变时间   修改文件(vi)或者文件属性变化(chmod/chown)时,该时间会变化

ps:使用touch命令,这3个时间都会变化

查看文件所在的文件系统信息:stat -f filename

以简洁方式输出信息:stat -t filename  (只输出值,可用cut命令提取需要的信息)

14、给文件改名/格式:rename

15、提取路径下的文件名:basename

 还可以根据需求删除指定的后缀

提取文件名:basename  文件完整路径

 提取多个文件名:basename -a  路径1  路径2   路径3

 去掉文件的后缀:    basename filename.txt .txt          basename -s .txt filaname.txt

16、提取文件/目录的目录部分:dirname

17、修改/查看文件属性:chattr、lsattr

给文件加减某个权限:chattr +i/-i filename         lsattr filename

 只允许对文件追加内容,不允许做其他操作:chattr +a/-a filename

 对目录下的所有文件进行权限控制:   chattr -R +i/-i filename

18、识别文件类型:file

查看文件的类型:file filename/dirname:

查看文件命名的类型:file -i filename/dirname:

19、生成/校验文件的MD5值:

与文件名无关,只与内容有关

生成文件的md5值: md5sum filename

计算文件的md5值:md5sum -b filename      md5sum -t filename

 将生成的md5值重定向到指定文件(一般是.md5后缀):md5sum -b filename > file.md5

对MD5值进行校验: md5sum -c file.md5

不显示任何输出,用返回码表示成功与否:md5sum -c --status file.md5

 

20、搜索系统命令位置:which

which搜索的是系统命令位置(不是普通文件),搜索的路径是在path变量中

21、查找符合条件的文档:locate

数据库不是实时更新的,需要先更新数据库 : sudo updatedb

查找包含filename的所有文件:locate filename

 查找与whereis相关的所有文件:  locate whereis

22、统计文件行号:nl

语法: nl file.txt  (列出文件内容,且显示行号,空行的不显示)

 语法: nl -b a file.txt  (列出文件内容,且显示行号,空行也显示)

 行号在最左边显示,且加0对齐格式(默认6位):nl -b a -n rz file.txt 

 行号在最左边显示,且加0对齐格式(设置宽度为3):nl -b a -n rz -w number file.txt 

23、统计文件字数/行数:wc

 语法:wc file.txt   

只统计文件行数:wc -l file.txt   

只统计文件字数:wc -w file.txt   

 只统计文件字符数:wc -m file.txt   

  只统计文件字节数:wc -c file.txt   

  打印文件最长一行的长度:wc -L file.txt   

使用管道符配合其他命令一起使用:cat file.txt | wc -l

24、切割文件:split

根据行数切割:  split -number file.txt    每number行切割成一个小文件

根据大小切割:  split -b size file.txt    按照size大小,切割成多个小文件

 根据size大小切割:  split -b size -d -a number file.txt    以数字作为后缀,指定宽度为number

 为分割后的文件指定前缀:  split -b size -d -a number file.txt prefix_

25、合并2个/多个文件:paste

(列拼接)拼接2个文件:paste file1.txt file2.txt

 (列拼接)以指定分隔符,拼接多个文件:paste -d '分隔符' file1.txt file2.txt

 (行拼接)以指定分隔符,拼接多个文件:paste -d '分隔符'  -s file1.txt file2.txt

 从标准输入中读取数据,每行显示4个文件名:ls |paste -d ' ' - - - - 

26、对文本内容进行排序:sort

对文件内容进行排序:sort file.txt  

对数字进行排序:

sort file.txt     按照数字开始的第一个进行排序

sort -n file.txt     按照数字由小到大排序

sort -n -r file.txt    按照数字由大到小排序

按照某一列排序:sort -t '分隔符' -k number -n file.txt    (number:以第几列排序;-n 按数字排序)

27、对文件内容去重:uniq

 必须连续重复的才去重:uniq file.txt

打印每行重复的次数:uniq -c file.txt

打印有重复出现的记录:    uniq -d file.txt   

 打印无重复出现的记录:    uniq -u file.txt

28、比较差异:diff

比较2个文件的差异:diff file1.txt file2.txt  

(a---add增加    c---change修改    d----delete删除)

并排输出2个文件的差异:diff -y -W number file1.txt file2.txt  (number:宽度)

上下文格式输出2个文件的差异:diff -c file1.txt file2.txt 

 生成补丁文件:diff a.txt b.txt > file.patch

打补丁: patch file.txt file.patch

29、批量编辑文本文件:sed

只输出某一行/某几行:sed -n 'number-p' file.txt   (-p:打印,必须跟-n一起使用)

 输出包含关键字的行:sed -n '/keyword/p' file.txt   (-p:打印,必须跟-n一起使用)

 删除6-8行的内容:sed  'number,d' file.txt  (并没有真正的删除)

  删除包含某个关键字的那一行内容:sed  '/keyword/d' file.txt  (并没有真正的删除)

在某一行的下一行追加内容:  sed 'numbera  content' file.txt  (并没有真正的追加)

 

  在某一行的上一行插入内容:  sed 'numberi  content' file.txt  (并没有真正的插入)

替换整行数据:sed 'numberc content' file.txt   (并没有真正的替换)

 全局 字符串替换:sed 's/old_str/new_str/g' file.txt       (s----替换字符串;g-----全局替换)

局部 字符串替换:sed 'number_s/old_str/new_str/g' file.txt       (s----替换字符串;g-----全局替换)

只替换第四行:

 

多个条件替换:sed -e 's/old_str/new_str/g;s/old_str/new_str/g;s/old_str/new_str/g'  file.txt

将操作写入到文件中:sed -i '/keyword/d' file.txt   (i----将操作写入到文件)

 

 

1、顺序结构:

1、顺序结构:

1、顺序结构:

1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:1、顺序结构:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值