Linux 命令

来源:互联网 发布:gallery3d源码分析 编辑:程序博客网 时间:2024/06/05 17:20

1、改变文件属性和权限

Chgrp
改变文件所属用户组

Chgrp -R:进行递归的持续更改,即连同子目录的所有文件、目录都更新成为这个用户组。常用在更改某一目录内所有文件的情况。

Chown
改变文件所有者

Chown -R:进行递归的持续更改,即连同子目录下所有文件都要更改

Chmod
改变权限

数字类型改变权限(r==4 ,w==2, o==1)
Chmod 777 +文件或目录:属主,同组,其他都可读 写 执行

符号类型改变文件权限 (u属主 g同组 o其他 a所有人)(+加入 -除去 =设置)(r w x)+文件或目录

2、目录相关操作

. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表目前用户身份所在文件夹
~account 代表account用户的主文件夹

Cd
切换目录

Cd ~ 回到自己主文件夹
Cd 回到自己主文件夹
Cd ..取目前文件的上一层
Cd -回到刚才的目录

pwd
显示目前所在的文件

pwd -p 显示出当前的路径,而非使用连接(link)路径,取得正确的目录名称。

mkdir
创建文件夹

mkdir -p test1/test2/test3/test4 自行创建多层目录
mkdir -m 711 test2 强行设置属性,否则系统会使用默认属性。

rmdir
删除一个空的目录

rmdir -p test1/test2/test3/test4 连同上层‘空的’目录也一起删除

3、文件目录管理

ls
显示当前目录下有哪些文件

ls -a 全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来
ls -A 列出全部的全部文件(连同隐藏文件,不包括 . 与 .. 这两个目录)
ls -d 仅列出目录本身,而不是列出目录内的文件数据
ls -f 直接列出结果,而不进行排序
ls -F 根据文件、目录等信息给予附加数据结构
ls -h 将文件容量以人类较易读的方式列出来
ls -i 列出inode号码
ls -l 列出长数据串,包含文件的属性与权限等数据
ls -n 列出UID与GID,而非用户与用户组的名称
ls -r 将排序结果反向输出
ls -R 连同子目录内容一起列出,等于该目录下所有文件都会显示出来
ls -S 以文件容量大小排序,而不是文件名排序
ls -t 依时间排序,而不是文件名
ls–color=never不要依据文件特性给予颜色显示
ls–color=always显示颜色
ls–color=auto让系统自己依据设置判断是否给予颜色
ls–full-time以完整时间模式(年、月、日、时、分)输出
ls–time={atime,ctime}输出访问时间或改变权限属性时间(ctime)而非内容更改时间(modification time)

cp
拷贝文件

cp -a 相当于-pdr的意思
cp -d 若源文件为连接文件(link file),复制连接文件属性而非文件本身
cp -f 强制,若目标文件已经存在且无法开启,则删除后再尝试一次
cp -i 若目标文件(destination)已经存在时,在覆盖时会询问操作的进行
cp -l 进行硬连接(hard link)的连接文件创建,而非复制文件本身
cp -p 连同文件的属性一起复制过去,而非使用默认属性
cp -r 递归持续复制,用于目录的复制行为
cp -s 复制成为符号连接文件(symbolic link),即“快捷方式”文件
cp -u 若destination 比 source 旧才更新destination

rm
删除文件

rm -f force强制,忽略不存在的文件,不会出现警告信息
rm -i 互动模式,再删除前会询问是否操作
rm -r 删除文件夹

mv
剪切,重命名

mv -f force强制,目标文件已经存在,不会询问而直接覆盖
mv -i 若目标文件(destination)已经存在时,在覆盖时会询问操作的进行
mv -u 若目标文件已经存在,且source比较新,才会更新

4、取得路径的文件名和目录名称

bassename
取得最后的文件名

bassename /etc/sysconfig/network 取得最后的文件名
=>network

dirname
取得目录名

dirname /etc/sysconfig/network取得目录名
=>/etc/sysconfig

5、文件内容查阅

直接查看文件内容

cat
Concatenate

cat -A 相当于-vET的整合参数,可列出一些特殊字符,而不是空白已知
cat -b 列出行号,仅针对非空白行做行号显示,空白行不标行号
cat -E 将结尾的断行字符$显示出来
cat -n 打印出行号,连同空白行也会有行号,与 -b的参数不同
cat -T 将[Tab]按键^I显示出来
cat -v 列出一些看不出来的特殊字符

tac
反向列示

nl
添加行号打印
nl -b指定行号指定的方式
nl -b a 不论是否为空行,也同样列出行号。(同cat -n)
nl -b t 如果有空行,空行不列出行号。(默认值)
nl -n 列出行号的表示方法
nl -n ln 行号在屏幕最左方显示
nl -n rn 行号在自己字段的最右方显示,且不加‘0’
nl -n rz 行号在自己字段的最右方显示,加‘0’
nl -w 行号字段占用的位数

6.可翻页查看文件内容

more
一页一页翻动(只能向下翻)

less
一页一页翻动(可以上下翻页)

7.数据选取

head
取出前面的几行

head -n +数字,代表显示几行 没有-n默认显示10行

tail
取出后几行
tail -n+数字,显示几行
tail -f 持续检测后面所接的文件名,要按下ctrl-c才停止

8.非纯文本文件

od
查询非纯文本文件

od -t +类型

od -t a:利用默认字符输出
od -t c:使用ASCII字符输出
od -t d[size]:利用十进制来输出数据,每个整数占用size bytes;
od -t f[size]:利用浮点数来输出数据,每个整数占用size bytes;
od -t o[size]:利用八进制来输出数据,每个整数占用size bytes;
od -t x[size]:利用十六进制来输出数据,每个整数占用size bytes;

touch
修改文件时间或创建新普通文件

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

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

umask
文件默认权限

[……..]# umask
0022 后三位与权限有关
[……..]# umask -S
u=rwx,g=rx,o=rx(7-0=1,7-2=5,7-2=5)

10.文件隐藏属性

chattr
设置文件的隐藏属性

格式:chattr [+-=] [A S a c d i s t u]

+:增加某一个特殊参数,其他不动
-:删除某一个特殊参数,其他不动
=:仅有后面接的参数

A:若访问此文件(或目录)时,它的访问时间atime将不会被改变
S:加上此属性,当你进行任何文件的修改,该改动会“同步”写入磁盘
a:文件只能增加数据,不能删除和修改数据,只有root才能设置这个属性
c:自动将此文件压缩,在读取的时候将自动解压缩,在存储时会先压缩再存储
d:当dump程序被执行时,设置d属性将可使该文件不会被dump备份
i:让一个文件不能删除,改名,设置连接也无法写入或添加数据,只有root能设置
s:当设置s,如果这个文件被删除,将会完全从硬盘里删除
u:与s相反,当该文件被删除时,其数据内容还存在在磁盘里