===================================--文件属性--======================================
文件属性与权限控制:
改变文件组 【要改的组名】 【要改的文件名】:
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 【设备】 【命令 [参数]】
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。