文章目录
文件权限
文件属性
-rw-r–r-- 1 root root 42304 Sep 4 18:26 install.log
- 第一个字符
- [ d ]——目彔
- [ - ]——文件
- [ l ]——连接文件
- [ b ]——可供存储的接口设备
- [ c ]——串行端口设备,例如键盘、鼠标
- 三组[rwx]
- 文件所有者的权限
- 同用户组的权限
- 其他非本用户组的权限
- 连接数
- 文件所有者
- 文件所属用户组
- 文件大小
- 最近被修改的时间
- 文件名
##改变文件属性
- chgrp 改变文件所属用户组 chgrp users install.log
- chown 改变文件所有者 chown bin install.log
- chmod 改版文件的权限 chmod 777 install.log
- chmod [ugoa] [±=] [rwx] 文件或目录 chmod ug+r file1.txt
权限的意义
###权限对文件的意义
- r 读取文件的实际内容
- w 编辑、新增和修改文件内容(但是不包含删除)
- x 可执行
注:对于文件的r、w、x来说,主要是针对“文件的内容”
###权限对目录的意义 - r 读取目录结构列表
- w 更改目录结构列表(新建、删除、重命名和转移文件和目录)
- x 用户能够进入该目录成为工作目录
vi编辑器
三种编辑模式
一般模式
使用vi打开文件默认进入一般模式。在该模式下,可以上下左右移动光标,可以删除、复制、粘贴等操作,但是无法编辑文件内容。
- dd 整行删除
- yy 整行复制
- pp 粘贴
- shift+g 打开后直接跳到末尾
编辑模式
在一般模式下,按下“I,i,O,o,A,a,R,r”任何一个按键进入编辑模式。按下【Esc】按键退出编辑模式。
命令行模式
在一般模式下,按下“:、/、?”任何一个按键进入命令行模式。此时,光标移动到最下面那一行。
在命令行模式下,你可以查找、读取、保存、大量替换字符、离开vi、显示行号等操作。
- :q 不保存退出
- :q! 强制不保存退出
- : wq 保存后退出
- : wq! 强制保存后退出
- :.,$d 删除当前行到末尾行
- 1,10d 删除1-10行
- shift+g跳到最后一行
- 输入行号然后 shift+g跳到指定行
- /word 查找word,shift N超找下一个
#常用命令
##目录操作 - 常用目录
- . 此层目录
- … 上一层目录
- -前一个工作目录
- ~ 当前用户的主文件夹
- ~account 代表account这个用户的主文件夹
nogos的主文件件是/home/nogos
root的主文件夹为/root/ - cd (Change Directory) 切换目录
- pwd (Print Working Directory)显示当前工作目录
- mkdir (Make Directory)新建目录
- rmdir Remove Directory删除空目录
- rm 删除文件夹和文件(-r 递归删除) rm -rf ./tmp
- -r 递归删除
- -f 即force,不会出现警告信息
- -i 询问用户是否操作
- cp (Copy) 复制文件和目录 cp /var/log/tmp/ ./log/
- find 查找文件find / -name mbprice.php
- 正则表达式查找find / -name ‘mbprice.php.*’
- 根据内容查找文件 find ./ -name “*”|xargs grep ‘genDailyMessage’
- mv (Move) 移动文件 mv /Download/tmp/ ./
- 重命名文件 mv test.txt test.py
文件查看
- more 一页一页地显示文件内容
- less 类似more,支持向前翻页
- cat 从第一行开始显示
文件上传rz(receive)
- -b 以二进制方式,默认为文本方式
- -e 对所有控制字符转义
如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志:
rz -be 从windows上发送二进制文件到Linux
文件下载 sz(send)
- -a 以文本方式传输(ascii)
- -b 以二进制方式传输(binary)
- -e 对控制字符转义(escape),这可以保证文件传输正确
如果能够确定所传输的文件是文本格式的,使用 sz -a files
如果是二进制文件,使用 sz -be files
文件解压
- 解压tar.gz包 tar -xzvf file.tar.gz
- 解压zip包 unzip filename
- 解压 tar包 tar –xvf file.tar
- 解压tar.gz包 tar -xzvf file.tar.gz
- 解压rar包 unrar e file.rar
文件打包
- 单个文件压缩打包 tar czvf my.tar file1
- 多个文件压缩打包 tar czvf my.tar file1 file2,…
- 单个目录压缩打包 tar czvf my.tar dir1
- 多个目录压缩打包 tar czvf my.tar dir1 dir2,…
日志查看
- tailf logfile动态跟踪日志,最初的时候打印文件的最后10行内容,并动态更新打印日志文件。
- tailf logfile|grep ERROR 定位跟踪日志
系统信息查询
- uname -a 查看操作系统版本
- ps -ef | grep nginx 查看进程信息(grep 根据正则表达式过滤)
- which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
远程访问
- 远程登录 telnet 10.222.111.11 1086
- 结束远程访问 首先 ctrl + ] 然后输入quit回车
快捷命令
历史命令查找Ctrl+r
定时任务执行
编辑定时任务
crontab -e
写入
* * * * * cd /data/scripts/; python my_script.py
注意:如果脚本依赖其他文件,需要先切换工作目录。
其他
- 计算文件MD5 md5sum filename
- 配置host vi /etc/hosts即可编辑
磁盘爆满怎么处理
转自:https://blog.csdn.net/ck3207/article/details/76691904/
确定是不是真的是磁盘空间不足
查看磁盘信息
df –lh
解决思路
很明显:Filesystem下的挂载点 /dev/xvda1 下的40G容量已经耗尽。
既然问题已经确定了,接下来就是处理了。
处理方法也很简单,就是删文件。
问:删除什么文件?
答:删除占用磁盘空间大,但又无用的文件。
问:什么是无用的文件?
答:如果对系统不熟悉的话,日志可能是你第一的下手目标。
如何定位最大文件目录
定位文件夹
输入命令: cd / 进入根目录。
输入命令:du -h --max-depth=1 寻找当前目录,哪个文件夹占用空间最大
以上两个命令之后,可以看到 /usr 此路径占用较大磁盘空间,占用了21G。眼尖的同学可能看到了最后一项显示24G,它表示当前目录所有文件占用磁盘空间总和容量是24G。
如法炮制,几番判断后,定位到tomcat的日志文件。
如何定位最大文件
输入命令:ls –lhS 将文件以从大到小顺序展现
注:确认文件未被占用
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
tcpdump抓包分析
- 指定特定网卡(-i选项)
tcpdump -i eth1
- 抓取指定数目的包(-c选项)
tcpdump -i eth1 -c 10
- 将抓到包写入文件中(-w选项)
tcpdump -i eth1 -c 10 -w mydump.pcap
- 读取tcpdump保存文件(-r选项)
tcpdump -r mydump.pcap
- 抓包时不进行域名解析(-n选项)
tcpdump -i eth1 -c 10 -n
- 增加抓包时间戳(-tttt选项)
tcpdump -i eth1 -c 10 -tttt
- 指定抓包的协议类型
我们可以只抓某种协议的包,tcpdump支持指定以下协议:ip,ip6,arp,tcp,udp,wlan等。以下例子只抓取tcp协议的包
tcpdump -i eth1 -c 10 tcp
- 指定抓包端口
tcpdump -i eth1 -c 10 port 23349
- 抓取特定目标ip和端口的包
tcpdump -i eth1 -c 10 dst 100.113.3.89 and port 23349
- 抓取特定来源主机
tcpdump -i eth1 -c 10 src host 123.207.116.169
- 抓取完整包
tcpdump -i eth1 -c 10 -s 0
wireshark包分析
可以在window上安装,下载.cap文件进行分析
参看:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html
网络
查看端口占用情况
1.查找被占用的端口
netstat -tln
netstat -tln | grep 8080
netstat -tln 查看端口使用情况,而netstat -tln | grep 8080则是只查看端口8080的使用情况
2.查看端口属于哪个程序?端口被哪个进程占用
lsof -i:8060
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Java 20804 root 36u IPv6 35452317 0t0 TCP *:pcsync-https (LISTEN)
并强制释放占用的端口
3.杀掉占用端口的进程 根据pid杀掉
kill -9 进程id
kill -9 20804