文件操作
touch 创建一个文件
more 查看文件,空格显示下一页,回车显示下一行
head 显示文件前几行
tail -f 动态显示文件末尾几行
ln -s /ect/issure /issue.soft 软链接 可以跨文件系统生成
ln /ect/issure /issue.soft 硬链接 cp + 同步更新,与源文件有相同,原理是inode相同,不能跨文件系统
cp -p /etc/issure /test/issuo.2
cp /etc/issure /test/issuo.2
echo "this is a test" >> /ect/issue.hard
ls -l /etc/issue /issue.soft
ls -i i-inode i节点,显示文件的节点号
ls -ld /test 查看文件所在目录的权限
权限管理
chmod u + r //所有者
g - w //所属组
o = x //其他人
chmod u+wx chmod 0-rx chmod g=rwx
r-4 w-2 x-1
su - 用户名
权限对应文件的操作
r-cat,more,head,tail
w-echo,vi
x-命令,脚本
权限对应目录的操作
r-ls
w-touch,mkdir,rm
x-cd
chown改变文件的所有者
chown nobody a 默认用户
useradd helen 增加用户
passwd helen 密码
chgrp 改变组
ghgrp adm a
umask 文件默认权限
0022
0-特殊权限位
022-用户权限位,权限掩码值
777
- 022
---------
755
umask -S
liunx权限规则
缺省创建的文件不能授予可执行x权限
更新默认权限
umask 027
777
- 750
----------
027
文件搜索命令
which ls 查找命令所在的目录,显示别名信息
whereis ls 同时显示帮助文档所在的位置
find查找文件或目录
-name 根据文件名查找
find /etc -name init*
* 匹配任意字符
? 匹配单个字符
-size 文件大小 block数据块 100MB=102400KB=204800block
大于 +
小于 -
等于 find / size 204800
-user 文件所有者
时间
1,ctime,atime,mtime 以天为单位
2,cmin,amin,mmin 以分钟为单位
c-change改变,表示文件属性被修改过,如:所有者,所属组,权限
a-access访问
m-modify修改,文件的内容被修改过
-之内,+超过
find /etc -mmin -120 两个小时以内修改过
-type文件类型,f二进制文件,l软链接文件,d目录
1,连接符 -a and 逻辑与,-o or 逻辑或
2,连接符 find ..... -exec 命令 {} \;
{}find查询的结果
\表示转义符,符号命令使用本身的含义
;结束
-ok(询问确认)
find /etc -name init* -a -type f -exec ls -l {} \;
find . -inum 16 -exec rm {} \;
locate 查找文件数据库
updatedb 更新文件数据库
grep 查找文件中的内容
grep xxx /ect/d.conf
帮助
man 查看帮助文档
man ls
man services
man 5 passwd
info ls
whatis
help 查看shell内置命令的帮助
---------------
压缩解压命令
.gz
gzip
1,只能压缩文件,不能压缩目录
2,不保留原文件
gunzip / gzip -d
tar打包目录
.tar.gz
-c产生tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
file new.tar.gz判断文件名类型
分两步走
tar -cf test.tar /test
gzip test.tar
解包
-x解包.tar文件
-v显示详细信息
-f指定解压文件
-z解压缩
分两步走
gunzip test.tar.gz
tar -xf test.tar
.zip默认win和liunx通用格式
压缩文件:zip test.zip /ect/test
压缩目录:zip -r test.zip /test
unzip 解压
unzip test.zip
bzip2压缩比很高的命令,不能压缩目录
压缩:bzip2 -k 文件名
解压:bunzip2 -k test.bz2
网络通信,要求对方登录
write 用户名
ctrl+d结束
wall写给所有人
ping 192.168.168.1.1
ping -c 192.168.1.1
ping -s 600 192.168.1.1
ifconfig
shutdown -h now关机
reboot重启
cat /etc/shells
history
!188执行对应的命名
命令别名
alias别名
alias copy=cp
alias xrm="rm -r"
unalias copy删除别名
输入/输出重定向
0:标准输入
1:标准输出
2:标准错误输出
输出 > >>
ls -l /temp > /temp.txt
date >> /temp.txt,追加
输入 <
wall < /etc/motd
错误输出 2>
cp -R /usr/backup/usr.bak 2> /bak.error
管道:将一个命令的输出传送给另一个命令作为另一个命令的输入
使用方法:命令1|命令2|....
wc计数器
wc -l计数行
ls -l /ect | grep temp | wc -l
命令连接符
;
用;间隔的各命令按顺序依次执行
&&
前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后
面的命令才被执行
||
前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它
后面的命令才被执行
命令替换符
将一个命令的输出作为另一个命令的参数
ls -l `which touch`
---------------------------------------------------
vi
:set number
:set ic忽略大小写
:%s/ftp/lamp/g全文替换
:4,10s/ftp/ftps/g c选择行替换
:r改文件
:!不退出vi执行命令
:r !date把一个命令的执行结果导入到vi中
:map定义快捷键
:map ^P I#<ESC>