- 目录与路径
1.1 相对路径与绝对路径
1.2 目录的相关操作:cd,pwd,mkdir,rmdir
cd:cd~,cd /,cd ../,cd ./,cd -,cd ~username
pwd [-P]:显示路径(passwd :配置账户密码)
-P:显示出确实的路径,而非使用链接路径
mkdir [-mp] diretoryname:创建目录
-m:配置权限,mkdir -m 755 diretoryname
-p:递归建立多级目录。
rmdir [-p] diretoryname:只能删除没有文档的一级或多级目录
-p:删除多级目录
1.3 关于执行文件路径的变量:$PATH
查看:echo $PATH
编辑:PATH="$PATH":/root - 档案与目录管理
2.1 档案与目录检视:ls
ls [-aAdfFhilnrRSt] 目录名
-a 隐藏文件
-A 不包括.与..
-f 不进行排序
-l 显示权限
-F 给予附加数据结构
-d 如果是目录,不显示目录下的具体
-h 容量易读
-i 列出inode号码
-n 列出UDI与GID
-r 将排序结果反向
-R 连同子目录一起列出来
-S 以档案容量大小排序
-t 依据时间排序
ls [--color={never,auto,always}]
ls [--full-time]
ls [--time={atime.ctime}]
ll=ls -l
全部 ls -aAdfFhilnrRSt --color=never --full-time --time=ctime
2.2 复制,删除与移动:cp,rm,mv
cp [-adfilprsu] src_filename tar_filename
-a =-pdr
-d 复制链接的源文件
-f force
-i 询问是否覆盖
-l hard link
-p 连同属性权限一起复制
-r 递归,目录
-s 复制成快捷方式
-u 更新才复制
[\]rm [-fir] 文档或目录
-f force
-i 询问删除
-r 递归
mv [-fiu] 原文档或目录,目标文档或目录
-f force
-i 询问覆盖
-u 更加新才复制
2.3 取得路径的文件名与目录名
basename 取得文档名
dirname 取得目录名
- 文档内容查阅
3.1 直接检视档案内容:cat,tac,nl
cat/tac [-AbEnTv] filename
-A -vET
-b 列出行号
-E 断行字符$显示出来
-n 列出行号,包括空行
-T 显示[tab]键
-v 列出以下看不出的特殊符号
nl [-bnw] filename
-b [at] a:不管是否为空行,仍然列出行号,t:如果有空行就不列出(默认)
-n [ln/rn/rz] ln:行号在左边;rn:行号在右边不加0,;rz:行号在右边加0.
-w n 行号字段的占用位数
3.2 可翻页检视:more,less
more filename
less filename
查看时输入指令
3.3 资料攫取:head,tail
head [-n number] 只看头几行
tail [-n number] 只看尾巴几行
head -n 20 /etc/man.config|tail -n 10:取出10-20行
3.4 非纯文本档:od
od [-t TYPE] 用二进制方式读取
TYPE:
a 默认字符
b ASCII字符
d[size]
f[size]
0[size]
x[size]
3.5 修改档案的时间与建置新档:touch
档案的三个时间:
mtime 内容变更时间
ctime 权限与属性变更时间
atime 内容被取用的时间
touch [-acdmt] filename
-a 修改 atime
-c 修改 ctime
-d --tate==""
-m 修改mtime
-t [YYMMDDhhmm]
实例:ll a.txt;ll --time=atime a.txt;ll --time=ctime a.txt
- 档案与目录的默认权限与隐藏权限
4.1 档案预设权限:umask
umask [-S] 查看修改预设权限
目录(777):drwxrwxrwx 对应000
文档(666):-rw-rw-rw- 对应000
通常是0022:表示对于目录只是644(666-022),对于目录是755(777-022)
4.2 档案隐藏属性:chattr,lsattr(只对ext2/ext3生效)
chattr [+-=][ASacdistu] 档案或目录
-A 访问时间不会被修改
-S 同步写入,一般磁盘是异步
-a 只能增加数据,不能删除与修改
-c 自动压缩与解压缩
-d 不会被dump备份
-i 让一个文档不能被删除、改名、设定连结
-s 删除时完全移除硬盘
-t
-u 与s相反
lsattr [-adR] 档案或目录
-a 显示隐藏文件
-d 不显示目录内的
-R 列出子目录
关键属性:+a +i
4.3 档案特殊权限:SUID,SGID,SBIT,权限设定
档案特殊权限:SUID,SGID,SBIT(在权限的三个数字前面,分别是4,2,1)
在rwx的x位上,还有:
s:
A(SUID),在owner权限位置上:仅对文件有效,非owner执行时,包含x的权限,同时,仅对二进制程序文件在执行时拥有owner的权限,实例:ls -ld /tmp;ls -l /usr/bin/passwd
B(SGID),在group权限位置上:
对文件时 other执行时,包含x的权限,同时,仅对二进制程序文件在执行时拥有group的权限,实例:ll /usr/bin/locate /var/lib/mlocate/mlocate.db
对于目录 other执行时,在此目录下的有效群组将变为该目录的群组,如能新建,新建的档案的群组与此目录的群组相同
t:(SBIT),仅对目录,在other的位置上,只有自己和root,有权限删除在该目录建立的目录或文件,实例:ls -ld /tmp
大写的SST表示,表示没有x权限,比如chmod 7666 filename
4.4 观察文件类型:file
file ~/.bashrc ;file /usr/bin/passwd 查看文件类型,属性等
- 指令与档案的搜寻
5.1 脚本文件名的搜寻:which
which [-a] command 查找PATH路径下的指令路径,-a 表示所有由PATH目录中可以找到的指令全部列出来,which cd是特例,例如 which -a which
5.2 档案档名的搜寻:whereis ,locate,find
查找文件命令优先级:whereis,locate,find(前面两个是在一个记录所有档案的数据库中查找,很快,后者是硬盘查找很慢)
whereis [-bmsu] 文件名或目录名
-b 只找binary格式
-m 只在manual路径下找
-s 只找source来源文件
-u 其他
locate [-ir] (部门)文件或目录名,在数据库/var/lib/mlocate/里面搜索,用updatedb命令去根据/etc/updatedb.conf更新
-i 忽略大小写
-r 正则表达式的显示方式
find [PATH] [option] [action]
A:
find / [-mtime/-ctime/atime] [n,+n,-n]
find /etc -newer /etc/passwd
B:
-uid n,-gid n,-user name,-group name,-nouser,-nogroup
find / -nouser
find /home -user ckt
C:
-name filename find / -name *passwd*
-size [+-]SIZE(k,c) find / -size +10k
-type TYPE(f,b,c,d,l,s,p) find /var -type s
-perm [+-]mode(4755) find / -perm +7000 只要包含s或t就列出来,find / -perm -7000要包含---s--s--t所有三个权限
D:额外的动作
-exec command find /bin -perm +6000 -exec ls -l {} \;
-print
- 指令与指令间的关系
- 提及的重要指令
passwd 修改电脑账户密码
ipconfig eth0
rename
du 计算文件或目录占用磁盘大小
passwd 修改电脑账户密码
两次tab查看所有可用的命令,su - ckt切换账号,而adb shell 用 su id adb