Linux目录配置
文件种类:
[-] 普通文件 有纯文本文件(regular file)、二进制文件(ASCⅡ)、数据格式文件(data)。
[d] 目录
[l] 连接文件
[b] 块设备文件
[c] 字符设备文件
[s] 套接字 (sockets) 数据接口文件 , 通常在/var/run目录中可以看见这种文件类型。
[p] 管道 (FIFO, pipe) first-infirst-out
Linux 文件扩展名:
*.sh 脚本或脚本批处理文件(scripts)
*Z *.tar *.tar.gz *.zip *.tgz 经过打包的压缩文件
*.html *.php 网页相关文件
Linux 目录:
/bin binary普通用户和管理员都能用的可执行的命令,可执行的命令
/boot 引导文件,系统启动,kernel,bootloader(grub)
/sbin 管理类的文件,通常只有管理员能用
/dev 设备文件所在目录
/etc 配置文件
/etc/sysconfig, 服务额外配置文件,及网络设备相关配置文件
/etc/init.d, 服务的管理脚本
/home 用户的主目录 ~:代表目前这个用户的主文件夹; ~dmtsai:代表dmtsai的主文件夹。
/lib 库文件
/media 可删除的设备,包括软盘、光盘、DVD等设备。 /media/floppy, /media/cdrom
/mnt 暂时挂载某些额外的设备。
/opt 可选的,有些第三方软件,把此目录当作默认安装位置,Nessus, Oracle
/root 管理员root的主文件夹
/tmp 临时文件存放位置
/misc 杂项
/proc 伪,内存中的内核相关信息的映射
/sys 比如像磁盘这样存储设备或某些总线设备的驱动程序相关属性信息
/srv 服务运行中中间文件的存放位置
/var, 经常发生变化的文件存放位置
/var/log
/var/run
/var/mail
/usr 基本日常管理
/usr/bin
/usr/sbi
/usr/etc
/usr/lib
/usr/include 头文件
/usr/local (第三方软件)
/usr/local/bin
/usr/local/sbin
/usr/local/etc
/usr/local/lib
/lost+found /disk/lost+found 设备文件
/proc 虚拟文件系统
目录与路径
绝对路径与相对路径
绝对路径:由根目录(/)开始写起的文件名或目录名称,例如:/home/dmtsai/.bashrc。
相对路径:相对于目前路径的文件名写法,例如:./home/dmtsai或../../home/dmtsai等。
.:代表当前的目录,也可以用./来表示。
..:代表上一层目录,也可以用../来表示。
文件与目录管理
pwd 显示当前目录
cd 切换目录
ls 查看文件与目录
-a 全部的文件,连同隐藏文件
-d 仅列出目录本身
-l 列出长数据串,包含文件的属性与权限等数据
-i 列出inode号码
-n 列出UID与GID,而非用户与用户组的名称
创建一个空白文件:
# touch
-a 仅修改访问时间
-m 仅修改mtime
-t [[CC]YY]MMDDhhmm.ss
-c 仅修改文件的时间,若文件不存在则不创建新文件
复制文件:
# cp SRCFILE DEST
# cp SRCFILE...DEST
-a, 相当于-rp。
-f,强制复制。
-i,交互式。
-p,连同属性一起复制。
-r(R),可复制目录。
创建一个新目录:
# mkdir /tmp/x/y/z
-v verbose 详细信息
-p parents 帮助你直接将所需要的目录(包含上层目录)递归创建起来。
删除一个空目录:
# rmdir
文件删除命令:
# rm
-r(R) 递归删除目录中的内容
-f 强制删除
-v 显示删除内容和类型
移动文件或目录:
mv SRCFILE DEST
mv SRCFILE...DEST
-f 强制移动
-u 若目标文件已经存在,且source比较新,才会更新(update)。
文件内容查阅
cat 由第一行开始显示文件内容(显示全部内容) 不能分页显示
-n 显示行号
-E 显示行结束符 --show-ends
-v 显示非打印字符
-T 显示打印字符
tac 从最后一行开始显示,tac是cat的倒写形式
nl 显示的时候,顺便输出行号
more 一页一页地显示文件内容
less 与more类似,但可以往前翻页,可以一行一行地显示
head 只看头几行
tail 只看结尾几行
-f 不退出一直查看文件 ( Ctrl+c 退出 )
od 以二进制的方式读取文件内容
wc words counter
-l 行数 -w 统计单词数 -c 字符数
cut 切割之后进行排序 /etc/passwd
cut -d : -f1-7
cut -d : -f1,7
cut -d'' -f1-7
sort 按字母排序显示
-r 逆序显示
-n 以数值大小进行比较
-f
-u 如有相同的行则只显示一次
uniq 排完序才能使用 、、、、与sort一起使用
-u 只显示不重复的行
-d 只显示重复的行(显示一次)
-c 显示重复的次数
# tr SET1 SET2 转换字符
# tr 'abc' 'ABC' /etc/passwd
# tr -d 'abc' 删除字符
文件与目录的默认权限与隐藏权限
文件默认权限:
umask 0022
uamsk -S u=rwx,g=rx,o=rx
文件隐藏属性:
chattr
lsattr
命令与文件的查询
file 查看文件类型
which 脚本文件名的查询 寻找执行文件
文件名的查找:
whereis 寻找特定文件
-b 只找二进制格式的文件
-s 只找soerce源文件
locate 非实时 非精确,快速 依据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名
find 实时 精确 速度慢 从磁盘查找
# makewhatis
# whatis
# locate keyword
# updatedb 手动生成locate所依赖的数据库
locate -n 10 keyword 查找前十行
locate -c 10 keyword 统计字符
find [dir1,...] [criteria,...] [action...]
find [-H] [-L] [-P] [path...] [expression]
find /etc -name "passwd"
Criteria:
-name "" 严格区分大小写
支持globbing方式的文件名通配
# find /etc -name "passwd*"
# find /etc -name "passwd?"
# find /etc -name "*passwd*"
-iname "" 不区分文件名中的大小写
-regex "PATTERN"
-user UID
# find /tmp -user redhat
# ls -l `find /tmp -user redhat` 命令替换
-group GID 指定组名
-uid 按uid查找
-gid 按gid查找
-nouser 查找所有没有属主的文件
-nogrouop查找所有没有属组的文件
-type (f d l b c s p) 按文件类型查找
# find /tmp -type s
组合条件:
# find /tmp -iname "*LC*" -user redhat
-a
-o
-not
# find /tmp -iname "*LC*" [ -a ] -user redhat
# find /tmp -not -user redhat
# find /tmp -iname "*LC*" -o -user redhat
# find /tmp -not -user redhat -a -not -iname "*LC*"
# find /tmp -not \( -user redhat -o -iname "*LC*" )
-size# 指定文件大小
10M
-10M
+10M
k|M|G
-atime# 3 三天 -3 +3 访问时间(天)
-mtime 修改时间(天)
-ctime 改变时间(天)
-amin# 3 三分钟 -3 +3 访问时间(分钟)
-mmin 修改时间(分钟)
-cmin 改变时间(分钟)
-perm 根据权限查找
per 755 每一类用户都必须满足
per /755 (+755) 任何一类用户权限满足都可以
per -755 每一类用户有一权限位必须满足
/mode: 任何一类用户某一个权限符合条件 0 : 不作考察
-mode:所有类别用户所有权限都符合条件
xarges
# find ./ -perm 644 | xarges chmod 755
例如:
1,查看/var目录下属主为root并且属组为mail的所有文件:
# find /var -user root -group mail
2,查看/usr/目录下不属于root,bin,或student的文件:
# find /usr -not -user root -a -not -user bin -a -not -user student
# find /usr -not \( -user root -o -user bin -o -user student )
-not == !
3,查看/etc目录下最近一周内内容被修改过且不属于root及apache用户的文件# find /etc -mtime -7 -a -not \( -user root -o -user apache )
4,查找当前系统上没有属主或属组且最近一天内曾被访问过的文件,并将其属主属组均修改为root:
# find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;
5,查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件 中:
# find /etc -size +1M -exec basename {} >> /tmp/etc.largefiles \;
6,查找/etc目录下所有用户都没有写权限的文件,显示其详细信息;
# ls -l `find /etc -not -perm /222`
# find /etc -not -perm /222 -ls
Man的章节:
1,用户命令
2,系统调用
3,库调用
4,特殊文件说明
5,文件格式(常指配置文件)
6,游戏
7,杂项
8,管理命令
#whatis command 查看章节
#man 章节号 command
#man 章节号 文件名
#manwhatis
#makewhatis
Man -M/usr/local/apache/man httpd
EXAMPLES举例
Man mdadm
翻屏: space键,往文件尾部翻一屏,或向上翻 -----b
Enter键,往文件尾部翻一行,或向上翻 -----k
G 跳转文件尾部
1G 跳转文件首部
字符串搜索: /keyword 由首部向尾部搜 n 下一个 : N 下一个(反方向)
/keyword 由尾部向首部搜
转载于:https://blog.51cto.com/zxc0823/786194