5-5(linux常见指令)

命令的组成:命令名称 [操作选项] [操作对象]

1、目录指令

ls:

查看目录下面的文件,也就是相当于查看window文件里面的文件,默认情况下查看当前用户的家目录下的文件。

eg:ls /home/zxl/ 查看根下面的home下面的zxl下面的文件,也就是查看zxl下的文件

操作选项:

-a 打印目录下所有的文件,包括隐藏文件,lunix隐藏文件指的是.开头的文件

-l 查看目录下的详细文件


pwd:查看当前目录的路径(绝对路径)

lunix目录之间是以/为间隔符,但是开头的间隔符表示根,末尾的间隔符表示其前文件为目录。

绝对路径:唯一的路径,是以根为起始表达式的路径 如/home/zxl/

相对路径:多种多样,是以某个路径作为参照路径,通常是以当前目录作为起始路径。

相对路径中:.表示当前目录     ..表示当前目录的上一目录


mkdir:

创建文件夹(空目录)

操作选项:

-p表示递归创建多层目录,由外到内

eg: mkdir -p test/abc   表示在当前路径下创建了test目录,并在test目录里面创建了abc目录。


rmdir:

删除空目录,只能删除空目录

操作选项:

-p表示递归删除多次目录,由内到外

eg:rmdir -p test/abc     表示删除test下面的abc,再将test删除,前提abc为空,不然删除不了。


rm:

删除文件

操作选项:

-r 表示递归删除目录下所有文件,最后删除目录

-i  给出提示信息

-f   不要给出提示信息

eg: rm -rf test   表示删除test目录下的所有文件,最后再将test目录删除


cp:(复制的同时可以改名)

复制文件,将一个文件复制到另一个文件里面

操作选项:

-r:递归复制,将目录下所有文件都拷贝进去,包括目录。

eg:cp -r ./test ./tmp表示将当前目录下的test目录复制到tmp目录里面。

如果当前目录没有tmp文件,那就是将test复制到了当前目录下,并改名为tmp。


mv:(剪切同时可以改名)

将一个文件移到另一个文件里面

eg:mv ./test/ ./tmp表示将test移到tmp下面,如果没有tmp,则将test改名为tmp,这种操作常用来该文件的名字。


cd:

改变当前所在路径(进入某个人目录)

eg:cd tmp表示当前目录为tmp  如果ls则查看的是tmp下的文件

~表示家目录,  cd ~表示回到家目录下


2、文件操作指令

touch:

刷新文件的时间属性,if文件不在,则会创建文件

操作选项:

-d使用指定的时间修改时间属性。

eg:touch -d "2020-12-12 12:12:12" password表示以2020-12-12 12:12:12来修改password文件的时间属性。

文件的时间属性:(3种)

最后一次访问时间

最后一次修改时间

最后一次状态改变时间

操作选项:

-a:只使用当前系统时间刷新访问时间

-m:只使用当前系统时间刷新修改时间时间


cat:

将文件内容打印出来

eg:cat password

more

分页显示文件内容;其中使用空格向下滚动一页;使用回车向下滚动一行



less:

分页显示文件内容

可以使用上下左右来访问文件内容,

p匹配查找字符串:/string向下匹配;?string向上匹配字符串。


head:(默认是前10行)

打印文件内容的前n行内容。

操作选项:

-n 数字   表示前数字行

eg: head -n 3 password  打印password 文件的前3行



tail(默认是末10行)

eg:tail -n 3 password  打印password的末尾3行

操作选项:

-n  多少行

-f   表示动态等待文件末尾的新数据进行显示。

ctrl+c 退出



3、打包压缩指令

压缩指令:(将一个文件按照一些压缩算法,将文件数据由多变少)

zip:压缩指令 eg:zip test.zip test.txt。将test.txt文件压缩为test.zip

unzip:解压缩指令   eg:unzip test.zip


gzip:压缩指令   eg:gzip test.txt   将test.txt文件压缩为test.gz    .gz为后缀名.

gunzip:解压缩指令:


bzip2:压缩指令: eg:bzip2 test.txt          后缀为.bz2

bunzip2:解压缩指令


打包指令:(将多个文件合成一个文件)

tar:即可打包 也可解包

-c:打包

-x:解包

-z:打包或解包同时进行gzip格式的压缩与解压缩。

-j:打包或解包同时进行bzip2格式的压缩与解压缩。

-v:显示打包解包信息

-f:用于指定tar包名称,通常作为最后一个操作选项,因为后面要跟上包名称。

eg:tar -czvf new.tar.gz test.txt  将test.txt文件打包并同时压缩为new.tar.gz

eg:tar -xzvf new.tar.gz


注意:默认情况下,当前在那个目录下,解压的文件就在当前目录下。



4、匹配查找命令

grep:在一个文件内容里匹配包含某个字符串的行,通常用来某个文件中找函数。

-i:忽略匹配的大小写

-v:反向匹配,打印不包含某个字符串的行

-R:对指定目录下的文件递归逐个进行内容匹配。grep -R “san” ./  当前目录下找san


find:(在指定的目录下找指定名称/大小/时间/类型的文件)

-name:按照名字找文件

-type:按照类型

-size:按照文件大小

-cmin   -mmin  -amin  按照最后一次访问、修改、状态改变来查找,单位为分钟

-ctime  -mtime  -atime  单位为天。


5、查看/打印/设置系统时间命令

date:

+:按照指定格式输出时间

date + "%Y-%m-%d"  ->  2020-12-12

-s 设置时间


6、其他指令

stat:查看文件状态信息


echo:将数据写入到标准输出(显示设备文件)


>>:重定向符号,将要操作的数据不在写入到原本的文件,而是写入到新的文件中。

eg:echo "abcd" >>passwd   将abcd写入到passwd中。

>:也是重定向:与>>区别在于;>是清空重定向:将新数据重定向到指定的文件,但是在这之前      清空文件原有内容。>>不会清空原有内容,而是直接追加到文件末尾。


|:管道符

连接2个命令,将前面命令的输出结果当作后便命令的输入数据,让后边数据进行处理。

eg:head -n 23 ./passwd | tail -n 1  打印passwd的第23行。

man:查看手册命令。

eg:man ls  查看ls的手册


shell理解:

什么是shell? 与用户、内核、终端之间的关系

shell是命令解释器(命令解释程序)

因为用户不能直接与操作系统的内核沟通,所以shell的作用是作为用户与内核直接沟通的桥梁,当用户在终端输入一些指令后,shell捕捉到之后就会指向相应的程序,完成相应功能。

shell在lunix下就是命令行解释程序,在window下就是ui操作界面。


7、文件权限的认识:

文件访问对用户的父类:文件的所有者(u)、文件的同组者(g)、其他用户(0)

文件访问对操作的分类:可读(r)、可写(w)、可执行(x)


文件权限表示:

显示字符表示:rwxrwxr--表示u可读可写可操作,g一样,o只能读

3位数8进制数字表示:774;

在系统中权限的存储时用位图存储的,0/1.


ctrl+c:中断当前命令


8、文件访问权限指令:

创建一个文件的默认权限:

umask:查看或设置文件的创建权限的掩码(0002这样的)掩码决定了一个文件创建的默认权限。

-S:人性化的显示权限,也就是u=rwx这样的显示,不在显示掩码

默认创建文件的权限计算方法:

创建一个文件的默认权限=777-八进制的掩码,如掩码为0002,则创建文件的默认权限为

777-002为775,也就是rwxrwxr-x,默认情况下shell创建文件给定权限为777.

正规计算权限方法:777&(~掩码)-》777&(~002)

umask 数字-》直接修改掩码。umask 333  将掩码修改为333.

对已经创建好的文件进行权限修改

chmod 八进制数值 filename

eg:chmod 777 test.txt  将test.txt文件的权限修改为777

针对某个用户进行权限的删除或增加:

chmod a-x test.txt  将test.txt的所有用户的x权限删除

chmod u-x test.txt  将test.txt文件的所属者的x权限删除

总结:chmod [a/u/g/o] +/- [rwx] filename

文件用户信息的修改

chown san root.txt   将root.txt文件的所有者改为san

chgrp san root.txt     将root.txt文件的所属组改为san

文件权限粘滞位:

粘滞位时特殊的权限位:主要用于设置目录的粘滞位,是针对同一目录下,不同用户都可以访问同一目录,如果都可以操作目录下的文件,这样会造成不必要麻烦,所以加上粘滞位后的目录,这目录下面的文件不同用户只能操作自己的文件,不可以删除别的用户的文件。

chmod +t filename



上一篇:举个栗子看如何做MySQL 内核深度优化


下一篇:JAVA学习笔记01