资讯详情

linux基础学习笔记6

1.绝对路径和相对路径

绝对路径比绝对路径更方便,但绝对路径的正确性更好

2.目录的相关操作

. 代表此层目录

.. 代表上一层目录

- 代表前一个工作目录

[root@zjwLinux ~]# cd /home/zjw/ [root@zjwLinux zjw]# cd - /root [root@zjwLinux ~]# cd - /home/zjw

合理使用 - 可在工作目录间快速切换

~ 代表当前用户身份所在的家庭目录

~用户名 代表 用户名 用户的家目录

根目录 / 的 . 与 .. 是同一个目录

1 root@zjw-Lenovo-Legion-Y7000P-2020H:/# ls -al 2 总用量 84 3 drwxr-xr-x  20 root root  4096  6月 11 01:17 . 4 drwxr-xr-x  20 root root  4096  6月 11 01:17 ..

3.几个常用的处理目录命令

一般情况下 pwd -L 与 pwd 一样

pwd -P 显示真实的物理路径,非连接文件路径

root@zjw-Lenovo-Legion-Y7000P-2020H:~# cd /lib root@zjw-Lenovo-Legion-Y7000P-2020H:/lib# pwd /lib root@zjw-Lenovo-Legion-Y7000P-2020H:/lib# ls -ld /lib lrwxrwxrwx 1 root root 7  6月 11 01:16 /lib -> usr/lib root@zjw-Lenovo-Legion-Y7000P-2020H:/lib# pwd -P /usr/lib

test1/test2 在 test1 中创建 test2

在创建 test1 7777

然而,当递归同时设置权限时,只有最内部的目录有设置权限,其他外部目录是默认权限

root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# mkdir -pm 777 test1/test2 root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# ls -ld test1 drwxr-xr-x 3 root root 4096  6月 24 20:29 test1 root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# ls -l ./test1 总用量 4 drwxrwxrwx 2 root root 4096  6月 24 20:29 test2

仅仅只有 test2 有被设置的权限

删除空目录test2与空目录test1(rmdir空目录只能删除)

4.查看文件和目录:ls

显示出的*可执行文件;/目录;=为socket文件;|为FIFO文件

具体查看man手册

5.复制、删除、移动 cp、rm、mv

cp -a 复制所有属性

cp -d 如果源文件是链接文件,则复制链接文件属性而不是文件本身

root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# ls -l /bin lrwxrwxrwx 1 root root 7  6月 11 01:16 /bin -> usr/bin root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# ls -ld /usr/bin drwxr-xr-x 2 root root 36864  6月 24 14:32 /usr/bin root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# cp -r /bin ./zjwbin root@zjw-Lenovo-Legion-Y7000P-2020H:/tmp# ls -ld zjwbin lrwxrwxrwx 1 root root 7  6月 25 20:00 zjwbin -> usr/bin    //会发现 zjwbin 文件属性与链接文件 /bin 属性完全一样,而非 /usr/bin;但是若直接 cp 复制,会 /usr/bin 属性复制而不是链接文件 /bin

cp -r 递归复制

cp -p 与文件属性一起复制,而不是使用默认属性

cp -f 如果目标文件且无法打开的,删除后再复制一次

cp -i 如果存在目标文件,则在覆盖时会询问

cp -l 硬连接

cp -s 复制成符号链接文件

cp -u 目标文件比旧源文件更新,或者复制目标文件不存在

默认情况下,目标文件的所有者通常是操作员本身,而不是源文件的所有者

复制时需要知道源文件信息是否需要完整保留;源文件是否为符号链接文件;源文件是否为特殊文件;源文件是否为目录

rm -f 强制,忽略不存在的文件,不会有警告信息

rm -i 删除时会问

rm -r 递归删除

mv -f 如果目标文件已经存在,则不会直接询问和覆盖

mv -i 如果存在目标文件,会询问

mv -u 如果目标文件比源文件旧,则更新

6.获取文件名和目录名

basename 获取文件名

dirname 获取目录名

7.查看文件内容

cat 文件内容从第一行开始显示 -a 相当于 -vET

-b 列出行号,空白行不标记

-E 将换行符 $ 显示

-n 列出行号,空白行也包括

-T 将 tab 键以^I显示出来

-v 列出一些看不见的特殊字符

tac 从最后一行开始显示

nl同时输出行号 -b 指定行号的方式 -b a 类似于 cat -n

-b t (默认)如有空行,空行不列出行号

-n 列出行号的表示方法 -n ln 行号显示在屏幕最左边

-n rn 行号显示在栏的右侧,不添加0

-n rz 行号显示在栏的右侧,加0

-w 行号栏占用字符数,即行号显示的位数

more 文件内容逐页显示

less 与 more 类似地,但可以向前翻页(测试,more 也可以向前翻页,区别在于 less 可以使用 g 或 Home、G或End 到达第一行和最后一行)

head 只看前几行 -n number 显示 number 行,number 除了最后number行不显示,其余行显示

tail 只看后几行 -n number 显示最后number行 number 显示number行后数据 (-number似乎毫无意义)

-f 继续刷新后面文件中的内容

od -t 后面可以连接各种类型的输出 a 默认字符输出(以二进制读取文件内容)

c ASCLL字符输出

d[size] 十进制输出占用每个整数 size字节

f[size] 浮点数输出

o[size] 八进制输出

x[size] 十六进制输出

8.了解文件时间,创建新文件

修改时间(mtime):修改文件内容数据时,更新时间

                                  ls 显示出来的时间默认为 mtime

  状态时间(ctime):当文件的状态改变时,如权限与属性,就会更新时间(通过操作可以发现只要更改了文件的任何一个属性如任何一个时间,ctime都会改变)

  读取时间(atime):当文件的内容数据被读取时,就会更新时间

  touch  创建新文件  -a 仅自定义atime

             -c 仅修改文件时间,若文件不存在则不创建新文件

             -d 后面可以接欲自定义的日期而不用目前的日期,等于 --date=

             -m 仅修改mtime

             -t 与 -d类似,日期格式为 YYYYDDMMhhmm

9.文件目录的默认权限与隐藏权限

  umask 查看默认权限 默认显示为需要减去的权限,如显示022则g-w o-w 

                        -S 以u= ,g=, o= 显示

[zjw@zjwLinux ~]$ umask -S
u=rwx,g=rx,o=rx

  

  文件的隐藏属性

  chattr  + 增加某一特殊参数,其他参数不动

      - 删除某一特殊参数,其他参数不动

      = 直接设置,且仅有设置的参数

      A 设置此参数后,存取次文件时,存取时间 atime 不会改变

      S 一般文件都是非同步写入磁盘,设置此参数后,修改会同步写入磁盘

      a 设置后,文件只能增加数据,不能修改或删除数据

      c 设置后,会自动将文件压缩,读取时自动解压缩,存储时先压缩再存储

      d 当dump程序被执行时,此文件不会被dump备份

      i 此文件不能被删除、改名、设置链接也无法写入或新增数据,即使是root也无法

      s 若文件被删除,则会完全被硬盘删除,无法恢复

      u 与s相反,可恢复

  lasttr  -a 显示隐藏文件

      -d 若接目录,则列出目录本身

      -R 递归显示

10.文件的特殊权限(先记着,了解一下,后面再会来看)

 4 SUID  Set UID,s出现在文件拥有者的x权限上,仅对二进制程序有效,无法用在目录及shell脚本上;执行者对于该程序具有x的可执行权限;仅在执行该程序中获得该程序拥有者的权限

[root@zjwLinux /]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 51464 Jan 27 21:47 /usr/bin/passwd

passwd的拥有者为 root ,当用另外一个用户zjw执行此文件时,如用vim进入,如果没有s,则zjw无法修改内容,但是有了s后,zjw有了文件拥有者root的权限,即有了rwx

 2 SGID  Set GID,s出现在用户组的x权限上,对二进制程序有用;程序执行者须具备x权限且在执行过程中将会获得用户组权限

     设置在目录上后,用户对于此目录有r与x权限,即能够进入此目录且拥有用户组权限

 1 SBIT  Sticky Bit,只对目录有效如 /tmp ,每个文件拥有者只能更改自己的文件,无法删除其他人的文件

  SUID仅用在文件上,SBIT仅用在目录上    S与T代表空

  利用 file 查看文件类型

11.命令与文件的查找

  which  根据 PATH 环境变量所规范的路径查找执行文件的文件名

  type   通过PATH变量查找,并且type 会显示出原名而非别名

  

  由于find速度慢,影响硬盘性能,所以先用 whereis或 locate,真找不到采用find

  whereis  -l 列出whereis 查询的几个主要目录

        -b 只查找二进制文件

        -m 只搜索手册和信息

        -s 之查找源文件

        -u 查找不在上述三个项目中的其他文件

  locate(linux发行版ubuntu22.04LTS不自带此命令)  

     -i 忽略大小写

     -c 不输出文件名,仅计算找到的文件数量

     -l number 仅输出 number 行

     -S 输出locate 所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等

     -r 后面可接正则表达式的显示方式

    由于 locate 根据数据库来搜索,所以在数据库更新前无法查找新建立起来的文件,利用

   updatedb 来手动更新数据库

  find [PATH](mtime为例)

      -mtime n  n天之前(一天之内)被修改过的文件,如今天是28号,n为5,则查找的是22-23这24小时内变化的文件

      -mtime +n  列出在n天之前(不包含本身)被修改过内容的文件, n为5,则查找的是22号及往前变化的文件

      -mtime -n  列出在n天之内被修改过的文件, n为5,则查找的是23号直到今天的变化的文件

      -newer file  列出比file更新的文件

      -uid n  记录在/etc/passwd内的使用者账号UID

      -gid n  记录在/etc/group内的用户组的GID

      -usr name

      -group name

      -nouser  查找文件的拥有者不在/etc/passwd中的文件

      -nogroup  文件用户组不在/etc/group中的文件

      -name filename  利用 * ?‘ “ 等符号查找包含 filename 的文件

      -size [+-]Size  查找比Size还要+大  -小 的文件 Size规格为 c:Bytes,k:1024Bytes

      -type TYPE  查找文件类型为TYPE(f:正规文件,b,c:设备文件,d:目录文件,l:链接文件,s:socket,p:FIFO文件

      -perm mode  查找文件权限为 mode 的文件

      -perm -mode  查找文件权限包括mode 的文件

      -perm /mode  查找任意包含 mode 子权限(瞎邹的,知道意思就行......)的文件,如查找 -perm /755 ,则 700也会显示出来,因为包含7

      -exec command  exec再接其他command,不支持别名

              如 find /usr/bin -perm /7000 -exec ls -l {} \;  -exec 到 \; 为find的开始与结束,\; 为转义 ;

      -print  将结果打印到屏幕,默认执行

标签: 28zjw印制板连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台