目录和文件处理命令
~~~
pwd 打印当前工作目录
touch 创建文件
cd - 返回上次操作目录
cp 拷贝文件 -p 保持文件属性 -r 复制目录
mv 移动
mkdir 创建目录 makdir -p 递归创建目录
rmdir 删除空目录目录(remove dir )
rm 删除
rm -f 强制删除
ls (可以重复组合) ls -ld ls -i(获取文件i节点)
-a 所有文件包括隐藏文件
-l 列表显示文件,显示所有信息 (ll)
-h 更加人性化的显示
文件类型
-:普通文件 d:目录文件 l:软连接 ln -s (生成软连接) ln(生成硬连接)
cat filename 显示文件所有内容
tac filename 倒叙显示文件内容
head -10 filename 显示前10行内容
tail -10 filename 显示结尾10行
more 分页查看
less 分页显示 可以查看上一页 [page up] 支持查询
~~~
权限操作
~~~
chmod:文件所有者,root 才能执行权限操作
chmod -R 递归修改权限
目录:r=>ls w=>mkdir/rmdir/touch/rm x=>cd
文件:r=>cat/more/less.... w=>vim x=> script/command
~~~
改变文件所有者
~~~
chown:只有root用户可以更改所有者,包括文件的创建者也不能改变
chown root filename/director
~~~
改变文件所属组
~~~
chgrp:只有root用户可以更改所属组,包括文件的创建者也不能改变
chown root filename/director
~~~
文件缺省权限
~~~
umask -S :显示、设置文件的缺省权限 注意:创建文件的时候会默认去掉执行权限
~~~
文件搜索命令(find)
~~~
(name 区分大小写。iname 不区分大小写)
find /tmp -name application 精准搜索
find /tmp -name ‘*app*’ 模糊搜索
find /tmp -name ‘app*’ 以app开头字符查询搜索
find /etc -name init??? 一个?一个字符,查询init开头后面三个字符的文件或目录
find /etc -name 'init*' -a -type f 查询以init开头的文件
-a :同时满足(且) -o:满足一个(非) -type: f=>文件 d=>目录 l=>软连接文件
find /etc -size +20488 (查询大于100m的文件,1数据块=512字节=0.5k) 根据文件大小
find /etc -name inittab -exec ls -l {} \;
-exec || -ok 对查询出的结果进行二次处理;注意 {} \ 中间必须要空格,否则会报错
find /etc -inum 1000 根据文件i节点查找
find /home -user root2 根据文件所有者来查询
find /home -group root 根据文件所属组来查询
find /home -cmin -5 (amin 访问的时间=>cat/more/...;cmin 文件属性change=>chomd/chgrp/chown;mmin 文件内容modify=>vim....)
locate filename 查询速度快,新创建的文件可能不能查询到
解决方案 先值行updatedb再查找,仍然不是完全能解决
which(whereis)命令 查询命令的所属位置
-/user/bin=>所有用户都可以使用的命令 -/user/sbin=>只有root用户能使用的命令
grep -i 文件内容中搜索查询 grep -v 过滤指定内容查询
~~~
用户管理命令
~~~
useradd:添加用户
passwd:修改用户密码
who/w:查看登录的所用用户 (tty=>本地终端,pts=>远程终端)
whoami 查看当前登录用户
~~~
文件压缩命令
~~~
tar
-c 压缩
-x 解压
-z 使用gzip
-j 使用bzip2
-f 指定处理文件
-v 显示详细信息
-C 指定挤压后存放的目录
示例
tar -zcvf 123.tar.gz 1 2 3 使用gzip将1 2 3 压缩成123.tar.gz
zip filename 压缩文件 zip -r director 压缩目录
unzip 解压文件
~~~
网络通讯命令
~~~
write:发送消息(ctrl+d 发送)
wall:发送消息所有在线linux用户都能收到,类似广播
ifconfig 查看网络
mail:发送邮件
last:查看登录用户的信息
lastlog:查看每个用户最近登录的情况
traceroute:显示数据包到主机间的路径
netstat:查询网络状态
-t:TCP协议
-u:UDP协议
-l:监听
-r:路由
-n:显示IP地址和端口号
示例:
netstat -tlun 查看本地监听的端口
netstat -an 查看本机的所有网络连接
netstat -rn 查看本机路由表
~~~
关机重启命令
~~~
shoutdown
-c 取消上次设置的关机重启命令
-h 关机
-r 重启
~~~
vim命令
~~~
a:光标所在字符后输入
A: 光标所在行末尾输入
i: 光标所在字符前输入
I: 光标所在行行首输入
o: 光标下插入新行
O:光标上插入新行
set nu:设置行号
set nonu:取消行号
gg:到第一行
G:到最后一行
:n/nG:到指定的一行
$:移至行尾
0:移动到行首
dd:剪切当前行
ndd:剪切几行
yy:复制当前行
nyy:复制几行
p:粘贴
u:撤销操作
ctrl+r 反撤销
:?查找内容
vim里面,如果已经用/查找到一个了,继续查找的话,按N就是向上查找下一个,按n就是向下查找下一个。
:1,5%s/查找的内容/替换的内容/g
GG 尾行
~~~
软件包管理
~~~
源码包
优点:
开源
可以自由选择所需的功能
软件编译安装,更加稳定,效率更高
卸载方便
缺点:
安装过程步骤较多
编译时间长
安装过程一旦报错,新手不易解决
二进制包(RPM包,系统默认包)
优点:
包管理系统简单,只需要几个命令可以实现包的安装,升级,查询和卸载
安装速度比源码安装快
缺点:
经过编译不再看得到源码
功能选择不如源码包灵活
依赖性
~~~
yum安装
~~~
yum -y install dos2unix
yum -y install vim
~~~
~~~
service iptables stop 关闭防火墙 systemctl stop firewalld.service
setenforce 0 关闭 SElinux
grep
-i字母不区分大小写
-n 显示行号
ls /bin | grep '^m'
查询/bin下以m开头的文件
ipcs -m 查看共享内存分片
php -i |grep php.ini 查看php.ini放置的位置
netstat -anp | grep 9501 监听9501
ps -ajft 查看进程
~~~