Linux学习笔记(一)

1.ls命令

ls命令可以列出当前目录下的文件

ls-l 可以列出当前目录下的文件详细信息

ls-a查看当前目录下的所有文件(包含隐藏文件)

ls-d查看当前目录

ls-ld查看当前目录的详细信息

ls-la查看当前目录下所有文件的详细信息(包含隐藏文件)

ls-lt t列出的文件信息按时间顺序排列,最新的排在最前面

ls-ltr 如果想按照时间逆序排序则加一个r

ls-i 列出当前目录下的文件对应的inode

ls-lh 列出的文件的容量一栏以友好的可读性显示

2.目录结构

*/ 根目录

*bin存放一般用户可以执行的可执行文件,可以是一些命令

*sbin存放超级用户可以执行的可执行文件

sbinbin并没有明确的界限

类似的有/usr/bin/usr/sbin

*/boot

linux内核及引导系统程序所需要的文件目录

du命令可以查看到目录的大小

*/dev存放linux的外部设备 linux下一切皆文件

*/etc存放系统,服务的一些配置文件

*/homelinux系统普通用户的家目录,所有的普通用户的家目录在home

*root用户的家目录在root/root

*/lib目录下存放库文件

*/lost+found默认为空目录,类似于回收站,例如电脑意外断电时会保存断电前的数据

*mediamnt默认为空,有时会把u盘,光盘挂载在mnt

*/opt默认为空,存放某些大型软件或特殊软件的目录

*/proc以进程ID为名字的目录,还有一些和内核相关的目录,内核映像

*/srv存放服务启动后需要提取的数据

*/tmp/存放系统产生的临时文件

*/usr有时会把用户自己安装的程序放在usr下,类似于windowsprogramFiles

*/var存放日志

3.alias:可以为命令起别名

alias别名=“要起别名的内容”

unalias:取消为命令所起的别名

unalis别名

man:可以用来查看命令的用法

4.快捷键

ctrl+L:清屏

ctrl+c:取消当前准备运行的命令

ctrl+z:挂起当前任务,想返回任务按fg

ctrl+a:光标回到命令首

ctrl+e:光标回到命令的最末尾

ctrl+u:清除当前所写的命令

ctrl+k:清除光标后面的命令

ctrl+d:推出终端

ctrl+s:锁住命令终端

ctrl+q:解锁命令终端

5.mkdir命令

用于创建目录,格式为:mkdir[-mp] [目录名称]

-m选项指定要创建目录的权限

Linux中,如果发现它要创建的目录的上一级目录不存在会报错,但使用-p选项可以创建一大串级联目录

6.rmdir命令

用于删除空目录,后面可以是一个目录,也可以是多个目录(用空格分开),该命令只能删除目录,不能删除文件,有选项-p,可以级联删除一大串目录,但在级联的目录中,如果某一个目录里还有目录或文件时,就无法使用该命令。

7.命令rm

-r:删除目录用的选项,可以删除非空目录。

-f:表示强制删除,如果后面跟一个不存在的文件或者目录,则不会报错,但如果删除一个已经存在的目录则会报错,所以使用rm删除命令时一定要加-r选项。

8.cp命令

cpcopy的缩写,该命令的格式为:

cp[选项][来源文件][目的文件]

-r:如果要复制一个目录,必须加-r选项,否则不能复制这个目录。

-i:安全选项,会询问是否覆盖

9.命令mv

mv[选项][源文件或目录][目标文件或目录],该命令有如下几种情况:

*目标文件是目录,但该目录不存在:会把源目录重命名为给定的目标文件名

*目标文件是目录,且该目录存在:则会把源文件或目录移动到该目录中

*目标文件是文件,且该文件不存在:则会把源文件重命名为给定的目标文件名。

*目标文件是文件,且该文件存在:询问是否覆盖

10.命令cat

用于查看一个文件的内容并显示在屏幕上,cat后面可以不加任何选项直接跟文件名

-n:查看文件时,把行号也显示到屏幕上

-A:显示所有内容,包括特殊字符。

11.命令tac

作用也是把文件的内容显示到屏幕上,是cat命令显示内容的反序

12.命令more

用于查看一个文件的内容,后面直接跟文件名。当文件内容太多时,一屏不能全部显示时,用cat肯定看不了前面的内容,使用命令more可以解决这个问题,当看完一屏后,按空格件键可以继续看下一屏,看完所有内容退出,提前退出按q键。

13.命令less

命令less的作用和命令more一样,后面直接跟文件名,但命令less可以实现上翻和下翻,按空格键可以翻页,按“j”键可以向下移动,按k键可以向上移动,在使用moreless查看某个文件时,可以按“/”键,输入某个字符串,然后按回车键,就可以查找这个字符串了,如果是查找多个该字符串可以按“n”键显示下一个,另外,也可以用“?”代替“/”来搜索字符串,唯一不同的是,“/”是当前行向下搜索,“?”是当前行向上搜索。

14.命令head

用于显示文件的前10行,后面直接跟文件名,如果加-n选项则显示文件的前几行,选项-n后面有无空格均可,另外也可以省略字母n,-后面直接跟数字。

15.命令tail

head命令类似,命令tail用于显示文件的最后10行,后面直接跟文件名,如果加n则显示文件的最后几行。

-f:可以动态地显示文件的最后10行。

16.Linux文件属性

利用ls-l查看属性

第一列:包含文件的类型,所属主,所属组以及其他用户对文件的权限

第一位:

用来描述文件的类型

d:表示该文件为目录

-:表示该文件为普通文件

l:表示该文件为链接文件

b:表示该文件为块设备

c:表示该文件为串行端口设备文件(字符设备文件)

s:表示该文件为套接字文件(socket)用于进程间的通信

后九位:

3个为一组,前三位是所属主权限,中三位是所属组权限,后三位其他非本群组用户权限

rwx三个参数的组合,r:可读w:可写 x:可执行

17.命令chgrp

chgrp可以更改文件,目录的所属组,其格式为:“chgrp[组名][文件名]”

groupadd添加一个用户组

如果想要级联更改目录以及子文件,加-R选项可以实现。

18.chown

chown命令可以更改文件的所属主,七格式为:“chown[-R]账户名文件名”或者“chown[-R] 账户名:组名文件名”

19.命令chmod

Linux使用数字代替“rwx”r=4,w=2,x=1,-=0,chmod用于改变用户对文件的读写执行权限,其格式为:“chmod[-R] xyz文件名”(这里的”xyz”表示数字),chmod还支持用rwx的方式来设置权限,可以用“u”,”g”,”o”来分别表,示usergroupother的属性,用“a”表示all

20.命令chattr

格式为:“chattr[+-=][Asaci][文件或者目录名]”其中,“+”,“-”,“=”分别表示增加,减少,和设定。各个选项的含义如下:

A:增加该属性后,表示文件或目录的atime将不可被修改。

s:增加该属性后,会将数据同步写入到磁盘中

a:增加该属性后,表示只能追加不能删除,非root用户不能设定该属性

c:增加该属性后,表示自动压缩该文件,读取时会在自动解压

i:增加该属性后,表示文件不能被删除,重命名,设定链接,写入以及新增数据。

21.命令lsattr

该命令用于读取文件或者目录的特殊权限,其格式为:“lsattr[-aR][文件/目录名]”

-a:连同隐藏文件一起列出

-R:连同子目录的数据一同列出

22.命令umask

用于改变文件的缺省权限,格式为:”umaskxxx”(xxx代表3个数字),如果要查看umask的值,则在命令行输入“umask”即可

用户建立普通文件,预设没有可执行权限,最大值为666-rw-rw-rw-

用户建立目录,预设所有权限均开放,即777(drwxrwxrwx),umask代表默认值需要减掉的权限。

23.setuidsetgidstickybit

setuid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。

setgid:任何用户在此目录下创建的文件都具有和该目录所属的组相同的组

stickybit:防删除位。”chmodo+t dirname”

24.命令which

which命令只能用来查找PATH环境变量中出现的路径下的可执行文件。

25.命令whereis

whereis是通过预先生成的文件库去查找与给出的文件名相关的文件

其格式为:whereis[-bmsu][文件名称]

-b:只查找binary文件

-m:只查找在说明文件manual路径下的文件。

-s:只查找source来源文件

-u:查找没有说明档的文件

26.命令find

格式为:find[路径][参数]

参数选项:

-atime+n/-n:表示访问或执行时间大于或小于n天的文件

-ctime+n/-n:表示写入、更改inode属性(如更改所有者,权限或者链接)时间大于或者小于n天的文件。

-mtime+n/-n:表示写入时间大于或者小于n天的文件。该参数用的最多。

-namefilename:表示直接查找该文件名的文件,这个选项比较常用。

-typefiletype:表示通过文件类型查找文件,包括fdcdls

27.软链接和硬链接

ln:ln[-s][来源文件][目的文件]

不加-s建立硬链接

-s建立软链接

28./etc/passwd

/etc/passwd由“:“分割为7个字段

第一个字段为用户名

第二个字段为密码(该账户的口令),存放在/etc/shadow中,现在用”x“代替。

第三个字段为一个数字,代表用户标识号,也称为uid

第四个字段也是数字,表示组标识号,也称gid

id用户名命令可以看用户的uidgid

第五个字段为注释说明,没有实际意义,通常记录一些用户的属性,通常用chfn命令来更改这些信息

第六个字段表示用户的家目录,可以用echo$HOME来看用户的家目录

最后一个字段为用户的shell

29./etc/shadow

该文件由”:”分成了9

第一段为用户名,与/etc/passwd对应。

第二段为经过加密的用户密码。

第三个字段为上次更改密码的日期,以197011日和上次更改密码的日期为基准计算而来。

第四个字段为要过多少天才可以更改密码,默认是0

第五个字段为密码多少天后到期,即在多少天内必须更改密码,默认99999,可以理解为永远不需要更改。

第六个字段是密码到期前的警告期限。

第七个字段为帐号的失效期限。

第八个字段为帐号的生命周期。

最后一个字段作为保留用,无意义。




你可能感兴趣的:(linux)