聊聊Linux命令背后,你不知道的小秘密
Posted Java架构栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊Linux命令背后,你不知道的小秘密相关的知识,希望对你有一定的参考价值。
一提到Linux命令,大家会想到最常用的cd、ls、rm、vi、tar等命令。
本文帮你解决这些平时没有注意到的细节,最终实现:知其然并知其所以然。
1、Linux主要特征 :
一切即文件(目录、硬盘等都是文件);
硬件都在/dev 目录,如硬盘、U盘为/dev/sd[a-d];/dev/sr0
Command [-option] [argument]
Command:
即是要运行的命令的本身,就是一个程序;
Option:
是选项(可选),选项是控制命令运行状态和行为的,可以多个选项一起;
Argument:
是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
【提示:“-”后面的部分叫做选项,没有“-”的部分叫做参数。】
当我们以为这是man(男人)的时候,其实这是manual的缩写,意思是说明书、小册子的意思。
例如:man ls ,该命令的意思是:查看ls命令的详细用法
cd是change directory的缩写,切换工作目录
ls是list的缩写,列出当前目录下的文件及文件夹列表信息
ls -a,all列出当前目录下所有文件,包括以“.”开头的隐藏文件
ls -l,long listing format,缩写成ll,列出明细列表信息
ls -l *.db,列出以.db结尾的文件的详细信息,*为通配符代表任意多个字符
ll是long listing format的缩写,列出当前位置文件及文件夹的明细列表,包括隐藏文件。
pwd是print working directory的缩写,打印当前工作目录
显示文件的类型(directory、data、text、zip、shell等)
mkdir是make directory的缩写,创建目录
mkdir -p ./dir1/dir2,-p选项表示父目录,当父目录不存在时,同时创建父目录,也就是递归创建目录。
rm -r 目录或文件,recursion递归删除,删除目录及目录下所有文件,非空也可以删除
rmdir是remove directory的缩写,删除空目录
mv是move的缩写,可以用来剪切文件目录或者将文件改名
mv dir1 dir2,移动一个文件到指定目录(目标文件存在即移动源文件到指定目录)
mv dir1 dir2,重命名一个文件或者目录(目标文件不存在就是更改文件名)
mv /a/a.txt /b/b.txt :移动a目录下的a.txt到b目录下,并改名为b.txt
mv /b/b.txt /b/c :移动b目录下的b.txt到b目录下的c目录下
cp -a,选项a表示文件的属性也复制、目录下所有文件都复制
cat是concatenate的缩写,原意是连接和打印文件。
vi是visual的缩写,(单词原意是可视的),创建并打开编辑文件
vim是visual improved的缩写,vim就是vi命令的提升改进版。作用就是编辑查看文件。
sed是个人名赛德。sed 是一种Linux在线编辑器,或许该编辑器的作者叫做塞德,所以命令就是sed。
例如:sed -n '10,$p' file.txt
例如:sed -n '/搜索的关键词/p' file.txt
>表示输出重定向,也就是改变原来系统命令的默认执行方式。
表示将ls -l命令结果输出到file文件中,如果file不存在就创建,如果存在则覆盖原有内容。
当文件名不存在时,该命令会将错误信息输出保存至file文件中
2>> file表示将错误信息追加到file文件中
表示查找当前目录下最近1天内(也就是1*24小时)修改过的文件
查找当前目录下的文件或目录(f为普通文件,d为目录)
查找当前目录下的文件或目录(f为普通文件,d为目录)
find . -mtime +2 -exec rm {} \;
find ./ -name '*.txt'|grep -i 'Josh' ./ -r
grep是UNIX工具程序,该程序可以实现文件内的字符串查找。
grep -i 'steven' ./ -r -n
表示在当前目录及子目录下查找文件内容包含“steven”的文件
chmod是一个合成词,是change和modify的合并。
百度chmod,能查到是:更改文件属性;修改文件权限;改变文件存取方式。
chmod是修改文件权限、改变文件存取方式的意思。
r(read)对应4,w(write)对应2,x(execute)执行对应1;
语法:chmod [{ugoa}{+-=}{rwx}][文件或目录]
u(user拥有者)、g(group所属组)、o(other其他人)
使用 "+" 设置权限,使用 "-" 用于取消权限
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改)
以上三个命令的含义相同,都是对于所有身份的用户设置dir1目录的权限,增加读写操作权限。
2)、对test.txt的权限为:user去掉写权限,group加上执行权限,other权限等于只读
chmod u-w,g+x,o=r test.txt
以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)
tar是tape archive的缩写,tape是磁带、录音的意思,archive是把…存档的意思。
tape archive的意思就是:把文件打包到磁带中存档。打包就是将多个文件包成一个大文件。
-x:字母x来自单词extract,extract是提取、提炼的意思。-x表示解压缩;
-v:字母v来自单词verbose。verbose是冗长的;啰嗦的意思。-v选项就是显示信息为详细模式的意思;
-c:字母c来自单词compress,compress压缩的意思。-c表示压缩文件;
-j:字母j表示处理bzip2格式(后缀为tar.bz2)的文件;
-zxvf:含义就是对tar.gz文件进行解压缩,显示信息为详细模式。
-zcvf:含义就是对tar.gz文件进行压缩,显示信息为详细模式。
-jxvf:含义就是对bzip2文件进行解压缩,显示信息为详细模式。
-jcvf:含义就是对bzip2文件进行压缩,显示信息为详细模式。
-C选项后面跟一个参数,该参数是指定解压或压缩到某个目录的意思。
1)、tar -zxvf file.tar.gz -C ./test
2)、tar -zcvf /dir2/file.tar.gz ./dir1/
压缩tar.gz(把当前目录下的dir1目录及子目录下所有文件压缩到dir2目录下,文件名为file.tar.gz。
当使用tar -zxvf file.tar.gz解压出来时,就带有目录dir1)
3)、tar -jxvf file.tar.bz2
4)、tar -jcvf file.tar.bz2 ./dir1/
压缩tar.bz2(把当前目录下的dir1目录及子目录下所有文件压缩到当前目录下,文件名为file.tar.gz2)
1)、zip -r file.zip ./dir1/
压缩zip(把当前目录下的dir1目录及子目录下所有文件压缩到当前目录下,文件名为file.zip
2)、unzip -o mdmtest.war -d /opt/mdm
-o来自单词overwrite,覆盖的意思。-o覆盖原有文件;
-d来自单词directory,-d指定文件解压后存储的目录。
压缩file1文件为gzip格式。(不能保留源文件)
压缩file1文件为bzip2格式。(bzip2比gzip压缩性能高)
Linux命令博大精深,若不细心挖掘,我们可能一直停留在基础上,经过小千一番深深挖掘,以上命令背后的小秘密大家都学会了吗?
咨询
:
学习资料、课程介绍欢迎添加小千学姐
领取~微信ID:dasima2018或QQ:2850728014
以上是关于聊聊Linux命令背后,你不知道的小秘密的主要内容,如果未能解决你的问题,请参考以下文章
DISQL你不知道的小秘密之“disql pagesize”设置
聊聊Java String.intern 背后你不知道的知识
webstorm你不知道的秘密
[肯定不知道]PeopleSoft中PSADMIN你不知道的秘密
trycatchfinally详解,你不知道秘密
DCL单例模式你不知道的秘密