===================================--文件属性--======================================
文件属性与权限控制:
改变文件组 【要改的组名】 【要改的文件名】:

chgrp   [-R]  groupName   fileName

改变文件所有者 【-R递归】 【要改的所有者】 【要改的文件名】(可是用.或者:在所有者后面加用户组,起到了同事修改用户组与所有者的目的【也可以用.用户组名,来达到只修改用户组的目的】)

chown  [-R]  ownerName  fileName

改变文件的权限 r:4 w:2 x:1 +(加入) -(去除) =(设置):

chmod

实例:

$ chmod u+x file                    #给file的属主增加执行权限
$ chmod 751 file                    #给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file           #上例的另一种形式
$ chmod =r file                    #为所有用户分配读权限
$ chmod 444 file                   #同上例
$ chmod a-wx,a+r file               #同上例
$ chmod -R u+r directory              #递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755                         #设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

===================================--目录操作--======================================
显示当前目录:

pwd

自行创建多层目录( 加上-p)

mkdir -p

删除空的目录(相比rm 在删除空目录上更安全,-p依然是删除多层目录,删除多层空目录的时候一定要teb到最底层,才可以一次都删除,否则会报目录非空的错【加-p是删除全部,不加为光删除底层空目录】):

rmdir -p

显示、打印出:

echo  ‘需要显示的内容’
echo $PATH          #显示出目前的路径

复制文件:

cp -i         #若目标文件已经存在,覆盖时会询问
   -r         #递归持续复制,用于目录的复制行为
   -a         #复制的数据特性完全一样,但是如果没有完整权限,即使加上-a也无法完整的复制权限

删除文件:

rm      (-f 强制删除,基本同上)

移动文件:

mv      #同上可用于重命名(-u,若目标文件存在,且source比较新,才会更新)

取得路径的文件名与目录名称:

basename 路径            #获取路径的文件名
dirname 路径               #获取路径所在目录名

显示文件:

cat [-AbEnTv]             #由第一行开始显示文件(-n ,打印出行号联通空白也有行号与-b不同,只是打出几行)
tac [同上]                #从最后一行开始显示(可以看出是cat的倒写)
nl [-bnw]                 #显示的时候,顺便输出行号
more                      #一页一页的显示文件内容
less                      #与more类似,但是比more好的是他可以翻页!
head [-n]                 #只显示头几行
tail [-nf]                #只显示结尾几行(-n,先上的行数,上同;-f,会持续检查后面所接的【也就是一直在更新】,直到按ctrl+c停止)
od                        #以二进制的形式读取文件内容,查看非纯文本内容

新建或修改文件时间:

touch [-acdmt]
-a:仅修改访问时间
-c:仅修改文件的时间,若该文件不存在则不创建新文件
-d:后面可以接想要修改的日期而不用目前的日期,也可以使用--date=“日期或时间”
-m:仅修改mtime
-t:后面可以接想要修改的时间而不是目前的时间,格式为[YYMMDDhhmm]

实例:

touch -d "2 day ago" 文件名               #将时间修改为两天前

mtime:(默认)内容更改的时候会更新这个时间
atime:该文件内容被取用,更新这个时间
ctime:状态改变(权限、属性)时,会更新这个时间

查看默认权限(显示出来的数字为拿掉的权限,也可以加-S来看各个组的权限):

umask [-S]

设置文件隐藏属性:

chattr [+-=] [ASacdistu]

显示文件隐藏属性:

lsattr [-adR]

SUID:4;SGID:2;SBIT:1;
eg:对于需要团队操作的目录,创建的时候最好用root权限给目录加上2权限
===================================--工具--======================================
日期 :

date

日历 :

cal

计算器(进入bc后scale=x,x为精确到小数点后几位;quit为退出bc计算器) :

bc

退出当前界面,键盘输入结束(相当于输入exit) :

Ctrl+d

===================================== --man--=======================================
man [要查看的命令] :可查看命令的具体参数与说明,按空格为翻页,按q为退出man环境
查看详细说明 :

man  man

在man环境下 :
home:可以翻到最前和最后页面;
/【要查看的字符】:向下查询;
?【要查看的字符】:向上查询;
n,N:使用/或者?查询出来之后,使用n向下查询,N向上查询;
q:结束man page环境
===================================--系统操作--======================================
关机:

    shutdown

-t 【几秒】 几秒后关机
-k 【时间】 发出警告信息,不关机
-h 【时间】 几分钟后关机将系统的服务停掉后关机
...

重启:

reboot

关机:halt 不理会目前系统状况,进行硬件关机、poweroff
数据同步写入磁盘:sync
切换执行等级:init(可通过切换模式等级来达到关机和重启的目的)
0:关机
3:纯命令行模式
5:含有图形界面模式
6:重启
===================================--查找文件--======================================
查询文件类型:

file   directoryName

寻找执行文件:

which

寻找特定文件:

whereis [-bmsu]

输入文件的部分名称查找文件(每天一次将文件存入数据库,新创建的额文件是查不到的,可以使用updatedb来进行更新【在root权限下】):

locate [-ir]

查找文件:

find [PATH] [option] [action]               #find / -mtime 0 从现在开始,之前24小时被修改的文件

列出比这个文件还要新的文件,可用来分辨两个文件的新旧关系:

-newer 【文件名】

列出文件系统的整体磁盘使用量(-h:仅列出superblock数据,不会列出其他的区段内容)

df [-ahikHTm]

查询superblock的信息(只在ext系统中):

dumpe2fs [-bh] 【设备文件名】

评估文件系统的磁盘使用量(常用于评估目录所占容量):

du [-ahskm] 【文件或目录名称】

创建连接(硬连接:不能跨文件系统,不能连接到目录,不加-s就是硬连接;优点,可以确保文件安全,如果一个被误删,不会导致文件丢失):

ln [-sf] 【源文件】 【目标文件】
     -s:符号连接                         #即快捷方式,源文件删除后,连接文件无法打开;但是修改链接是可以修改源文件的

===================================--磁盘及内存--=====================================

挂载:
1、单一文件系统不应该被重复挂载在不同的挂载点;
2、单一目录不应该重复挂载多个文件系统;
3、作为挂载点的目录理论上都应该为空白目录(重启后要重新挂载)

mount [-tlano]【要挂载的分区,例如/dev/sda8】 【挂载到的目录,例如:/mnt/sd8】

卸载挂载设备:

umount

设置文件系统卷标:

e2label 【设备名称】 【新的LABLE名称】

调整和查看ext2/ext3文件系统的文件系统参数:

tune2fs [-jlL] 【设备代号】
-l:类似dunpe2fs -h 列出super block内容:
-j:将ext2转化为ext3文件系统
-L类似e2label的功能,可以修改文件系统的label

查看内存使用情况:

free

磁盘分区:

fdisk

一行命令完成分区(parted 【设备】 print:查看分区资料):

parted 【设备】 【命令 [参数]】

郭西西
60 声望10 粉丝

DevOps 工程师,专注云原生及容器领域


引用和评论

0 条评论