鸟哥linux读书笔记二

第六章 linux权限与目录配置

drwxr--r-- 3 root root 4096 Sep 5 10:37 .gconf
3 连结数,表示有多少文件连接到此节点
root 拥有者
root 所属组
4096 文件大小,单位bytes
注意:目录的执行权限x,标识能否进入该目录

权限修改
chgrp 改变文件所属群组 ,如:chgrp users install.log
chown 改变所有者 如:chown owner install.log
chmod 改变文件权限 如:chmod 755 R /home/test
-R 递归修改目录

第七章 linux文档与目录管理
目录:
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表用户所在的家目录
ls -al 查看当前目录下的文件,ls -al a*
cd 变换目录
pwd 显示当前目录
mkdir 创建目录 mkdir -m 711 test2
rmdir 删除目录 rmdir -r test2
touch 建立文件
PATH="$PATH":/root 临时增加PATH变量
echo $PATH 查看环境变量
cp 复制文件 cp 源文件 目标文件,cp -r /etc/ /tmp 复制/etc/这个目录下的所有内容,
使用-r,会递归复制目录及目录内所有内容。
rm 删除文件或目录 rm -fr /test2 强制递归删除目录中内容
mv 剪切或者重命名文件或目录, mv 源文件/目录 目标文件/目录
basename 获得文件的名称,如basename /etc/sysconfig/network 取值为network
dirname 取得目录名,dirname /etc/sysconfig/network 取值/etc/sysconfig
cat 由第一行开始显示文件内容 cat -n /etc/test -n显示行号
more 一页一页地查看
空格:向下翻一页;Enter:代表向下翻一行;/字符串 在显示内容中,向下寻找某个关键字
b: 往回翻页 q: 离开more ; :f 立刻显示出文件名及目前显示的行数

less 一页一页翻,比more更好用。
空格:向下翻一页; [pagedown]/[pageup] 向下/上翻页;
/字符串 在显示内容中,向下寻找某个关键字
n 重复前一个搜索
N 反向重复前一个搜索
q: 离开less
head 取出前几行数据 head -n 20 /etc/man.config head -n -100 /etc/man.config
tail 取出后面几行 tail -n 20 /etc/man.config
chattr 增加或删除文件的隐藏属性 如chattr +i attrtest chattr -a attrtest
i 可以让一个文档无法被改动
a 可以增加数据,但是不能修改旧的数据
lsattr 查看文件的隐藏属性
which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)
locate locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb) ,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文 件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。


find 查找目录或文档(搜索硬盘)
find /etc -name 'httpd*' 查找/etc目录下的所有以httpd开头的文件
find / -mmin -5 查找在系统中最后5分钟里修改过的文件
find / -user root 查找在系统中属于root这个用户的文件
find / -group root 查找在系统中属于root这个组的文件
find/ -size +10000000c 标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。
命令中的“+”是表示要求系统只列出大于指定大小的文件,
而使用“-”则表示要求系统列出小于指定大小的文件
1字节(Byte)= 8位(bit) 1K=1024Byte 1M=1024K


gerp用法
A dmesg | grep 'eth' 用dmesg列出核心讯息,再以grep找出内含eth行
ls -al /etc | grep '^d' 列出etc下的所有目录
B grep -in 'the' express.txt 不区分大小写,并把行号显示出来
C grep -n '[^a-z]oo' express.txt oo前面不想要小写字母
D grep -n '^oo$' express.txt 以oo开头并且oo结尾
E grep -in 'th[ae]e' express.txt
F grep -n 'go\{2,5\}op' express.txt grep -n 'go\{2,\}op' express.txt grep -n 'go\{2}op' express.txt

**** find / -name "*.txt" | xargs grep "one" 找出当前目录下,文件内容中还有one的 所有txt文件
xargs是用来展开find获得的结果,使其作为grep的参数


sed -i 's/tttt/local/g' *.txt 把当前目录下的所有txt文件中内容tttt,替换为local
find test/ -name *.txt | xargs sed -i 's/tttt/local/g' 替换当前目录下的所有txt文件中内容,tttt,替换为local
diff 文件对比diff passwd.old passwd.net
df 列出文件系统的整体磁盘使用量 df
du 理出当前目录,各文/目录的大小,单位kb
free 显示内存使用情况,-m 单位为兆
ln 创建连结 ln -s 源文件 目标文件
alias 定义别名 alias lm='ls -al'
unalias 取消定义别名 unalias lm
tailf 跟踪日志文件,如tailf apache-tomcat-6.0.32/logs/catalina.out
(tomcat启动后,会在logs目录下生成catalina.out)


默认权限:
若使用者建立文件,则默认权限为666
若使用者建立目录,则默认权限为777
umask 指的是该默认值需要减掉的权限。 umask 输出为0022,后三位和一般权限有关
例如:umask 0002 (其他用户的权限减去2)
新建文件的权限为664,目录为775
umask 004 (第二次执行 也是基于666,777的基础上减4)
新建文件的权限为662,目录为773

第九章压缩技术
Linux常见的压缩指令是gzip 与bzip2,分别以.gz和.bz2区别。由于压缩指令仅能针对一个文件来压缩与加压缩,如此以来,每次压缩与解压缩都要一大堆文件,
此时,打包软件tar就显得重要了。
gzip gzip -v man.config //压缩后产生man.config.gz文件,man.config不见了。 v显示原档案/压缩文件案的压缩比等信息。
gzip -d man.config.gz //解压文件,man.config.gz文件消失,产生man.config d解压参数

bzip2 bzip2 -z man.config //产生man.config.bz2文件 z压缩参数
bzip2 -d man.config.bz2 //产生man.config d解压参数

带压缩功能的tar
gzip形式的 tar -zcvf filename.tar.gz 要被压缩的文件或目录
tar -zxvf filename.tar.gz 解压到当前目录
tar -zxvf filename.tar.gz -C /tmp 解压到/tmp目录下
bzip2形式的 tar -jcvf filename.tar.bz2 要被压缩的文件或目录
tar -jxvf filename.tar.bz2
特殊的复制方式:
tar -cvf - /etc | tar -xvf - //复制etc下的文件
zip方式的压缩和解压
zip test.zip t1.txt
unzip test.zip

你可能感兴趣的:(linux)