文件的几种特殊权限
ext2/3/4对单个文件提供的额外属性
1.lsattr --列出文件的额外属性
2.chattr --更改文件的额外属性
-A --锁定access time
-a --只能够以append的模式去修改文件内容
-i --锁死文件,不能删,不能重命名,不能写
3.access time - atime
cat file
less file
more file
head file
vi file
注意:cat file一遍以后,没做任何事情,再cat file,access time没有效果
4.modify time - mtime
文件写操作:
echo string > file
echo string >> file
vi file 编辑,存一下
5.chang time - ctime
该文件内容,该文件权限等
vi file 改一下
chmod u+x file
6.stat filename -查看文件或文件系统的状态,如:atime,ctime,mtime
part 3: ACL的使用方法
access control list(访问控制列表)
1. getfacl --获得文件的ACL
2. setfacl --设置文件的ACL
setfacl -m|M 添加ACL
setfacl -x|X 删除ACL
setfacl -m u:newuser1:rwx /tmp/file
以命令的方式添加
setfacl -M uglist_permission_file file
以文件的形式添加
setfacl -x u:newuser1 /tmp/file 删除时不要含权限,不能只删除设置权限
的一部分
setfacl -X uglist /tmp/file 设置文件中不能含权限
setfacl -R -m u:newuser1:rw /tmp/dir1
setfacl -R -x u:newuser1:rw /tmp/dir1
递归的添加和删除的方法,-R需在前
setfacl -d -m u:newuser1:rw /tmp/dir1
设置默认ACL的方法
临时的启用ACL:
mount -o remount,acl /home
mount |grep /home (rw,acl)
固定启动的方法:
修改/etc/fstab文件:
/dev/xxxxxxx /home ext4 default,acl 1 2
part 4: 高级文件操作命令
准备工作:head -10 /etc/passwd >> /tmp/file
1.wc --给出文件的行,多少byte,多少character, 多少words
wc -l 行数,空行也算
wc -c 多少个字符,abc....|123....,每行末尾的回车
wc -w 单词数,以空格,TAB,换行符区分单词,空行不是一个
words
wc -m character字符数
wc -L 最长的一列有多少列,不包含换行符
2.sort --排序命令
-r 反向排序
-n 数字排序
-u 合并同类
-t 制定分割符,默认的分割符tab
-k 指定的列
sort -t ':' -k1 file 以':'为分割符,对文件的第1列按字母排
序
sort -t ':' -k3 -n file 按数字排
sort -t ':' -k3 -n -r file 逆向排序
sort -k4 file 文件中没有空格,分割符等东西
sort -t ':' -k3 -u -n file 合并同类项
3.uniq --报告并忽略重复的行
-c 统计重复了的行,注意统计的为邻居是否相同
-i 忽略大小写
-d 只显示重复行
4.cut --将文件中的内容从section移除
-d --指定分割符
-f --仅仅选择指定的列
-c --仅仅选择指定的字符
cat file | cut -f1
cat file | cut -c1,3,4
cat file | cut -d: -f2
5.paste --合并文件
cp file file1
paste file file1 > file2 --按列合并
paste -s file file1 > file2 --按行合并
6.tee --双向重定向,将标准输入的内容同时打印至文件和屏幕
cat file | tee file3 --将内容同时打印至屏幕和file3
cat file | tee -a file3 --a追加模式
tee file3 --从键盘接收输入,同时打印至file3
7.ln
硬链接: ln source_file target_file
--不能跨分区建立硬链接,因是使用inode来标记文件存放位置的
软链接: ln -s source_file target_file
8.cat --输出内容
9.tac --倒序输出内容
10.diff --比较两个文件的差异
-b 忽略空格
-i 忽略大小写
-B 忽略空行
11.tr
tr [a-z] [A-Z] --小写变大写
tr [A-Z] [a-z] --大写变小写
tr [a-z] [A-Z] < file 将文件中的字符进行大小写转换
tr -d a < file --将文件中的某些字母删除
part 5: 查找命令
1.which ->$PATH
2.whereis ->$PATH $MANPATH
3.locate --从数据库中搜索包含特定关键词的命令
locate -r 'lesson*' --搜索包含lesson的关键字的文件
locate -r 'iso$' --搜索以iso结尾的文件
4.find dir [option]
find /dir -type --指定文件类型进行搜索
find /dir -user --按用户搜索
find /dir -group --按组搜索
find /dir -atime|ctime|mtime --按a|c|mtime搜索
find /dir -perm +-777 --按权限进行搜索
find /dir -size +1M -size -10M
find /dir -type b -ls --搜索出并用ls显示
find /dir -user newuser1 -exec cp {} /tmp \;
find /dir -atime +1 -exec rm {} \; 数字表示的n*24小时内|外
find /bin -size +10k -size -100k -exec cp {} ./ \;
将bin路径下的10-100K大小的文件拷贝至当前路径
part 6: 压缩/解压缩/打包
1.zip/unzip --windows/linux/unix
zip -r demo.zip dir/ --压缩
unzip demo.zip --解压缩
unzip demo.zip -d /tmp/newdir11 --解压缩到某个文件夹
2.gzip/gunzip --压缩速度快,占用资源少,只能压一个文件
gzip filename --对文件压缩,生成filename.gz
gzip -r dir --遍历dir,对其内所有文件压缩,每个文件单独进行压缩
gzip -1 filename 快速压缩
gzip -9 filename 高压缩比压缩
gunzip filename.gz
3.bzip2/bunzip2 --和gzip基本相同,比gzip压缩比高
bzip2 filename
bunzip2 filename.bz2
4.tar --打包,压缩,解压缩
xxx.tar.gz
tar -czvf /dir/package_name.tar.gz source_dir
tar -xzvf /dir/package_name.tar.gz -C /target_dir
-c 创建
-x 解压缩包
-z gzip
-j bzip2
-v 详细信息
-f 文件
xxx.tar.bz2
tar -cjvf /dir/package_name.tar.gz source_dir
tar -xjvf /dir/package_name.tar.gz -C /target_dir
part 7: 源码安装
1.下载源代码包:mpich2-1.4.tar.gz
去×××包:www.google.com www.sourceforge.net
2.解压缩:
tar xzvf mpich2-1.4.tar.gz
3.配置,编译,安装:
cd src_dir
./configure --进行类型检查,生成Makefile
make --编译
make install --安装(拷贝)
--如果你安装的路径需要root权限,切换至root
4.后期配置:
更改系统PATH,MANPATH等环境变量
part 8: 进程管理
1.常用的进程管理命令
top
ps
pstree
pgrep
kill
pkill
killall
nice
renice
2.top
M --以内存占用率排名
P --以CPU占用率排名
q --退出
内容说明:
PID --进程的ID
USER --任务所有者的用户名
PR --优先级
NI --NICE值
VIRT --虚拟内存使用量
RES --实际内存使用量
SHR --多个进程交互时的共享内存量
S --进程的状态
D --不可中断的睡眠进程
R --正在运行的进程
S --睡眠的进程
Z --僵尸进程,找不到爹的孤儿进程,退出不了
%CPU --CPU占用率
%MEM --内存占用率
TIME+ --占用的系统CPU时间
COMMAND --进程的程序名
3.ps -aux | less
USER
PID
%CPU
%MEM
VSZ --预分配的虚拟内存量
RSS --真实分配的内存量
TTY
STAT:
N --低优先级的进程
s --有孩子的进程
l --上锁的进程
+ --前台进程
START
TIME
COMMAND
4.pstree --以树状结构列出所有进程
5.pgrep
pgrep -l bash --列出关键字bash对应的进程id
pgrep -t pts/1 --列出终端对应的进程id
pgrep -u root vsftpd --查看root用户启动的vsftpd进程的id
6.kill --终结一个进程
ps -aux |grep keyword --找到你想找的进程PID
kill PID
kill -15 pid
kill -9 pid
kill -l 9 --KILL
kill -l 15 --TERM
7.killall --根据完整的名字关闭进程
killall -9 bash 杀死bash相关的进程
8.pkill --以关键字杀死进程
pkill -9 bash
pkill -t pts/2
pkill -u root vsftpd
pkill -u newuser1 command
9.nice --修改nice值
进程的PR=老的PR+nice
1.这个数值是用来调整进程的优先级的
2.PR值越低,进程的优先级越高
3.进程的优先级可通过ps -l -p PID查看
nice -n -1 /bin/bash 对bash的nice值减1
nice -n +1 /bin/bash 对bash的nice值加1
nice --adjustment=10|-1|-10 /bin/bash --adjustment调整的开关
nice --adjustment=10 vi file 以某个nice值启动vi file这个程序
10.renice --alter priority of running processes
renice -10 -p PID
renice +2 -p PID
例子:
vi file
ps -aux |grep file
ps -l -p PID
renice -n -10 -p PID
ps -l -p PID