1、".":此层目录;
"..":上一层目录;
"-":前一个工作目录;
"~":目前用户身份的家目录;
"~account":account的家目录。
ls -la / 可知根目录也有存在.和..。
2、处理目录指令:
cd:变换目录;
pwd:显示当前目录;
mkdir:建立一个新的目录;
rmdir:删除一个空目录;
3、pwd -P 显示完整路径,而不仅是连接档
例:pwd -P
ls -ld /var/mail
mkdir -p test1/test2/test3 可直接建立一连串各个目录
mkidr -m 755 test4 预设权限
ls -l
rmdir test 只能删空目录
rmdir -p test1/test2/test3 连同上层空目录一起删除
rm -r 所有目录全删
4、echo $PATH:显示被定义的目录(echo为显示,$后面接变量),目录间用":"隔开
根据上面结果可知,/bin/ls:所以哪里都可以执行ls。
/sbin/ifconfig eth0 ,不能仅仅用ifconfig,理由同上。
5、mv bin/ls /root 将ls移动/root目录下
/root/ls 绝对路径指定文件名
./ls 在/root目录下可用
PATH="$PATH":/root 将/root加入到执行文件搜寻路径PATH中。
注意:不建议将"."加入PATH的搜寻目录中。
6、例:ls -al ~ 家目录下列出所有档案;
ls -alF --color=never ~ 家目录不显示颜色
ls -al --full-time ~ 完整呈现档案修改时间
7、cp ~/.bashrc /tmp/bashrc 家目录的.bashrc复制到/tmp
cp -i ~/.bashrc /tmp/bashrc 多一个-i,会询问是否覆盖;
例1:cd /tmp 移到/tmp目录
cp /var/log/wtmp . 将/var/log/wtmp复制到/tmp 。"."是当前目录。
ls -l /var/log/wtmp wtmp 复制结果时间不同,权限不同
例2:cp -a /var/log/wtmp wtmp_2 多了一个-a 复制的结果一样
ls -l /var/log/wtmp wtmp_2
例3:cp -r /etc/tmp 复制配置文件需加-r,但档案与目录可能被改变;
cp -a /etc/tmp 备份时可用
例4:建立连接档:symbolic link
ls -l bashrc 显示要连接的目录
cp -s bashrc bashrc_slink 符号链接
cp -l bashrc bashrc_hlink 实体链接
ls -l bashr*
例5:cp bashrc bashrc_slink_1 复制实体链接
cp -d bashrc bashrc_slink_2 复制连接档
ls -l bashrc bashrc_slink*
例6:cp ~/.bashrc ~/.bashrc_history /tmp 将前两个家目录复制到/tmp下
例7:cp -u ~/.bashrc /tmp/bashrc 有差异时才复制
例8:$ cp -a /var/log/wtmp /tmp/lshkinger1987_wtmp
ls -l /varlog/wtmp /tmp/lshkinger1987_wtmp 可见一般用户不能修改档案拥有者与群组
8、rm -i bashrc 有-i会主动询问是否删除,当不想y时按[ctrl]+[c]结束。
rmdir /tmp/etc 不空不可删
rm -r /tmp/etc 可删 带了"-r",是超级严重指令下达
\rm -r tmp/etc 可忽略alias指定选项(这里多了"\");
touch -aa-
rm -aa- 无法执行,会误判
rm -- -aa- 或 rm ./-aa- 均可执行
9、cp ~/.bashrc bashrc 复制一个档案
mkdir mvtest
mv bashrc mvtest
mv mvtest mvtest2 更名为mvtest2
rename 可对多个档案同时更名
cp ~/.bashrc bashrc1
cp ~/.bashrc bashrc2
mv bashrc1 bashrc 2 mvtest2 移动多个文档或目录,但最后一个需是目录
10、档案内容查阅:
cat:第一个开始显示
tac:最后一行开始
nl:显示,并输出行号
more:一页一页显示
less:可往前翻,一页一页
head:头几行
tail:尾巴几行
od:二进制读取档案
11、cat /etc/issue
tac /etc/issue
$:断行字符,windows的断行字符为M$。注意:如果是DOS档案时,断行与[tab]需要加入-A选项。
例:nl -b a -n rn -w 3 /etc/issue
例:more /etc/man.config
more运行中的几个按键:
space 下一页;
Enter 下一行;
/string 搜索字符串;
:f 显示文件名和行数;
q 离开;
b或[ctrl]-b 往前翻(只对档案有用,管线无用);
less可用的按键:
空格 下一页;
PageUp 上翻;
PageDown 下翻;
/string 向下搜索字符串;
?string 向上…;
n 重复前一个搜寻;
N 反向重复前一个搜寻;
q 离开
12、head -n 20 /etc/man.config 显示前面20行
head -n -100 /etc/man.config 后100行不显示,如140行,只显示前40。
tail -n 20 显示最后20行
tail -n +100 只显出100行后的数据
tail -f /var/log/messages 持续侦测,直到按[ctrl]-c离开侦测
13、od 查阅非文本档
例:od -t c /usr/bin/passwd
od -t oCc /etc/issue
14、touch:修改档案时间与建立新档: [-acdmt] d日期 t时间
三个时间意义:
mtime:内容数据改变,则更新;
ctime:状态改变,则更新;
atime:被取用时,更新。
单词:access 读取时间、bashrc 系统变量
例1:cp -a ~/.bashrc bashrc
ll bashrc;ll --time=atime bashrc;ll bashrc --time=ctime bashrc
例2:touch -d "two days ago" bashrc
touch -t 1610182030 bashrc 将上步得到的时间更改
15、档案与目录的默认权限与隐藏权限:
chattr:设定;
lsattr:查看。
例1:cp ~/.bashrc ~dmtsai/bashrc 复制档案
chown dmtsai:users ~dmtsai/bashrc 修改属性
例2:mkdir /tmpchaper7_1 建立
chown -R dmtsai:users /tmp/chapter7_1 修改属性
chown -R 755 /tmp/chapter7_1 修改权限
16、档案预设权限:umask [该默认值需要减掉的权限]
默认022(own没有少,group和other少了w)
档案:rw 666 -rw-r--r-- 例:touch test1
目录:rwx 777 drwxr-xr-x 例:mkdir test2
更改直接 umask 002
umask 可以参考 /etc/bashrc 档案内容
17、档案隐藏属性:chattr [a与i最重要] +a能增加数据,但不可删和改,+i则都不能做。
显示档案隐藏属性:lsattr [-adR] 显示隐藏/列出目录属性而非文件名/子目录一起列出
档案特殊权限:SUID(只对二进制程序有效,4) SGID(获得群组支持,档案与目录,2) SBIT(目录,1)
[chmod 4755 filename]
[chmod 7666 test] -rwSrwSrwT 具有空的SUID/SGID权限
另[chmod u+s,g+s,o+t test]
18、观察文件类型:file 如[file ~/.bashrc] 了解档案的格式
寻找【执行档】:which ifconfig 得用root身份
which which
which cd 找不到 可用type来找
档案档名的搜寻:whereis(找特定档案)-[bmsu二进制/说明/资源/其它]与locate -[ir] keyword,
直接搜寻数据库,find会搜硬盘较慢。
updatedb:根据/etc/updatedb.conf搜寻文件名,更新/var/lib/mlocate档案;
locate:根据/var/lib/mlocate记录,找出关键词文件名。
find -mtime n n天前的一天内;+n n天前;-n n天内
find -name testing/-type [fdcblsp]/-perm +-mode (mode如7555)/-print/-size
额外可进行动作:
-exec command
例:find -perm 7000 -exec ls -l{} \; (\;表示跳脱结束)
找檔名包含 httpd的档案:find /etc -name '*httpd*'
备注:find操硬盘,所以应少用。
19、非常非常非常的重要!权限与指令间的关系:
一、[可工作目录]基本权限:
1、可用cd等指令;
2、用户有x权限;
3、想用ls查阅,需r权限。
二、[读档案]基本权限:
1、可用cat、more等指令;
2、用户有x权限;
3、用户对档案有r权限。
三、[修改档案]权限:
1、可用nano或vi;
2、目录需有x权限;
3、有档案权限r、w。
四、[使用者建立档案]权限:
1、用户在该目录需有w、x权限,重点是w。
五、[进入目录且执行指令]基本权限:
1、用户在该目录有x权限;
2、使用者在该档案有x权限;
例:建立群组,使里面的账号可彼此共享档案。
groupadd project 增加新群组
useradd -G project alex 建立alex账号,支持群组
useradd -G project arod
id alex 查阅alex账号属性
id arod
mkdir /srv/ahome 建立开发的项目目录
ll -d /srv/ahome 显示结果表明其他人不能建立档案(因需wx)
chgrp project /srv/ahome
chmod 2770 /srv/ahome 修改权限(需用SGID)
ll -d srv/ahome
su - alex
cd /srv/ahome
touch 1234
ll 1234 结果显示alex为project的群组,这样alex与arod才能彼此进入对方的档案。
例:找出/etc 容量大于1500及0的文档
find /etc -size +1500 -o -size 0 注意-o是or的意思
找出 /etc 底下,档案容量大于50k,档名非root,权限完整列出 (ls -l);
find /etc -size +50k -a ! -user root -exec ls -l {} \; -a是and的意思
find /etc -size +50k -a ! -user root type f -exec ls -l {} \;
find 找出目前 linux 系统中,所有具有 SUID 的档案有哪些?
find / -perm +4000 -print
查询 /usr/bin/passwd 传统权限/文件类型/隐藏档案
ls -l
file
lsattr