Linux文件和用户管理

一、目录与路径

绝对路径:一定由根目录/写起

相对路径:不是由根目录/写起,转换路径的时候使用

. 代表当前所在的目录

.. 代表上层目录

-代表前一个工作目录

~代表自己的家目录

~user代表userd的个人的家目录

目录的相关操作和路径变量

(1)cd 变换目录

(2)pwd 显示当前所在的目录

(3)mkdir建立一个新目录

mkdir[-mp][目录名称]

参数说明:

-m:设定档案的权限,直接设定,而不是根据umask来设置目录权限

-p:递归建立目录

(4)rmdir删除一个里面是空的空目录

rmdir [-p][目录名称]

参数说明:

-p:递归删除上层的空目录

 当删除一个目录下面有目录的目录时,会产生错误。

 如果删除绝对路径,只能删除最下端没有目录的目录

 加-p参数后会递归删除目录

当目录下不为空,存在文件时,递归删除会失败。rmdir递归操作只能针对空目录

(5)环境变量PATH:当我们在执行一个指令的时候,系统会按照PATH定义的路径搜索文档,先搜到的指令档案先被执行。

二、管理文件和目录

管理文件与目录就是"显示属性"、"复制"、"删除文件"以及"移动文件或目录"

ls 显示档案名称、属性等

-a全部的档案都列出(连同隐藏档)

 

-A全部文件、与隐藏文件,但不包含.和..这两个文件

 

 

-d仅列出目录本身,而不是列出目录内的文件数据

 

 

-f直接列出结果,而不进行排序(ls默认以文件名排序)

 

 

-F根据文件、目录等信息,附加数据结构。如*表示可执行文件;/表示目录;=表示套接字;I表示FIFO文件-n列出UID与GID,而非用户与用户组的名称-r将排序结果反向输出,例如:原文件名由小到大,反向则由大到小

-h列出文件大小(GB、MB、kB)

-列出inode的值

-l列出长数据串,包含文件属性

-n列出UID与GID,而非用户与用户组的名称

 

 

-R与子目录内容一起列出来

-S以档案大小排序

-t按时间顺序排列

--color==never:不要显示颜色

--color==always:均显示颜色

--color==auto:由系统自行判断

 

ls -l会显示文件夹下所有文件占内存总大小

ls -li 会显示单个文件的节点

ls -lh会以人文阅读方式显示文件大小

 ls -lin会列出UID(用户ID)与GID(组ID),而非用户与用户组的名称

 ls -R以目录结构的形式显示文件夹下的组织结构

ls -t以时间顺序排序的组织结构

ls -l --color=never表示不显示颜色

 ls -l --color=always表示总是显示颜色

当输入ls时,默认显示颜色

 ls -l --full-time,长列表显示全部的时间。

cp 拷贝档案

cp[-drsu][源文件][目标文件]

 

-a相当于pdr

-d 若源文件为连接文件的属性,则复制连接文件属性而非文件本身

-f(force)的意思,若有重复或其他疑问时,不询问用户,而强制复制

-i若目标文件已经存在,在覆盖时先询问是否真的操作

-l 建立硬连接的文件,而非复制文件本身

-p 与文件的属性一起复制,而非使用默认属性

-r 递归持续复制,用于目录的复制操作

-s 复制成符号连接文件(symbolic link)即快捷方式

 

cp ~/.bashrc bashrc 从根目录拷贝bashrc到本目录下

 cp  -i ~/.bashrc bashrc 如果已经有了原始文件,询问是否覆盖

 cp -s bashrc bashrc-s 复制一个链接档

cp -l bashrc bashrc-h 建立一个硬链接档

 cp bashrc-s bashrc-s1将链接档复制成为普通文档

 cp -d bashrc-s bashrc-s2 复制链接档为链接档

cp -r /home/* test/递归将/home/*下的所有文件和文件夹复制到test目录下

 可以看到/home下的所有文件夹全部复制到test文件夹下了,但是test1的文件夹属性不相同。

cp -pr /home/* test 将home下的文件以及文件夹连同文件文件夹属性复制到test目录下

cp /var/log/wtmp wtmp 拷贝复制文件夹,如果不加-pr参数会丢失同组用户下的w权限

 cp -a /var/log/wtmp wtmp copy -a可以复制全文件属性

rm 删除档案

rm[-fir][文件名]

 

-f:就是force的意思,强制删除

-i:交互模式,在删除前,询问用户是否操作

-r:递归删除,常用在目录的删除

 

rm -i bashrc 删除bashrc,删除前询问是否删除

rm -f bashrc* 强制删除bash开头的文件

删除前

删除后

 rm -rf删除test1

mv 移动档案、重命名档案

mv[-fiu][源文件][目的文件]

 

-f:force,强制的意思,强制直接移动而不询问

-i:若目标文件(destination)已经存在,就会询问是否覆盖

-u 若目标文件已经存在且源文件比较新,才会更新

basename:提取路径的最后一个文件夹或文件名(编程用)。如basename /usr/local/etc

dirname:提取最后一个文件名或文件夹前的路径,与basename正好相反

 

mv test.txt test 剪切test.txt到test目录下

 mv -u test.txt test 更新test.txt到test目录下

mv test.txt test2.txt 文件重命名

 basename /tmp/test/test 提取路径的最后一个文件名或文件夹名

 dirname /tmp/test/test提取路径的最后一个文件名或文件夹名之前的目录

 

三、查看文件内容

cat 由第一行开始显示档案内容

cat[-nAE]

 

-A:相当于-vET的组合参数,可以列出一些特殊字符

-E:将结尾的换行符$显示出来(^M$为换行符号,linux以$为换行符号,至于^|则是<tab>按键)

-n:显示行号

-T:将tab按键以^|显示出来

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

 

cat test1.txt显示文件中的内容

cat -E test1.txt显示文件内容以及换行符

cat -n test1.txt 显示文件内容以及行号

cat T test1.txt显示Tab

会显示两个Tab键

cat -nTE test1.txt 显示行号、换行符以及Tab键

cat -A test1.txt 显示文件内容

tac 从最后一行开始显示,可以看出tac是cat的倒着写,倒序显示文件内容

tac test1.txt,倒序显示文件内容

nl显示的时候,顺道输出行号

nl[-bnw]文件

 

-b:指定行号指定的方式,主要有两种

-b a:表示不论是否有空行,也同样列出行号

-b t:如果有空行,空行不要列出行号

-n:列出行号表示的方法有三种:

-w:行号字段占用的位数

-n ln:行号在屏幕最左方显示

-n rn:行号在字段的最右方显示,且不加0

-n rz:行号在字段的最右方显示,且加0

 

nl -b a test1.txt 不论是否有空行,同样列出行号

nl -b t test1.txt 不显示空行行号

nl -n ln test1.txt 靠左显示行号

 nl -n rn test1.txt 靠右显示行号

nl -n rz test1.txt 靠右补0显示行号

nl -b a -n rn -w 3 test1.txt 指定行号显示无论是否有空行,行号不加0显示,占位符为3

nl -b a -n rz -w 3 test1.txt 指定行号显示无论是否有空行,行号加0显示,占位符为3

more 一页一页的显示文档内容

 

less 与more相似,但是比more更好的是,他可以往前翻页

head只看头几行

tail只看尾巴几行

od 以二进制的方式读取文档内容

touch 修改文档时间和创建新文件

四、文件和目录的默认权限与隐藏权限

 

五、搜索文件

posted @ 2024-04-17 23:08  leagueandlegends  阅读(52)  评论(0)    收藏  举报