linux教学 |
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
date 显示系统日期
cd /data 进入 ‘/ data’ 目录’
cd … 返回上一级目录
cd …/…返回上两级目录
cd - 返回上次所在的目录
ls 列出目录及文件
ls -a 列出全部文件(包含隐藏文件)
ls -l (缩写ll)包含文件的属性与权限等数据
ll -lh 查看文件夹下的详细 包括大小
ll -Sh 按照文件大小进行排序
ll -lrt 按照文件时间进行排序
ll bb 查看文件名包含bb的文件(前后都要有**)
2.2.1 find(文件和目录)
find命令在目录结构中搜索文件)
find 目录 -name ‘bb’ 查某目录下bb的文件
find 目录 -name ‘bb’ 查某目录下文件名包含bb的文件(前后要有*)
find 目录 -type f -size +1G 查找大文件
2.2.2 grep (文件内的内容)
grep 命令用于查找文件里符合条件的字符串,是一种强大的文本搜索工具。
grep “bb” filename 从文件内容查找匹配指定字符串叫bb的行
grep -A 数字 显示匹配指定内容及之后的n行
grep -B 数字 显示匹配指定内容及之前的n行
grep -C 数字 显示匹配指定内容及其前后各n行(常用)
示例:grep -C 10 ‘bb’ web.log 搜索匹配web.log文件中与”bb”字符串匹配的行,并显示其前后的5行
grep -c 返回一个文件中字符串的个数
示例: cat ssa.log | grep -c ‘ERROR’ 显示该文件中字符串 "ERROR"的个数
grep -r 搜索目录下含有某个关键字的文件
示例:grep -r ‘ERROR’ /home/admin 搜索在目录下面的含有关键字的文件
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
touch 1.txt 创建一个名为“1.txt”的空白文件
rm 1.txt 删除一个叫做 ‘1.txt’ 的文件’
rm -f 1.txt 删除一个叫做 ‘ 1.txt’ 的文件’ (不需要确认删除)
rmdir test 删除一个叫做 ‘test ’ 的目录’
rm -rf test 删除一个叫做 ‘test ’ 的目录并同时删除其内容(不需要确认)
rm -rf test1 test2 同时删除两个目录及它们的内容
cp file1 file2 复制一个文件
cp -r dir1 dir2 复制一个目录及子文件
cp -r /home/packageA/* /home/cp/packageB/ 把packageA 下的所有文件拷贝到 packageB 中
echo " " > file.log 将file.log日志的内容清空
和> 或者>>一起使用
和>>:输出符号,将内容输出到文件中,>表示覆盖(会删除原文件内容) >>表示追加
echo Hello World > 1.txt #将Hello World输出到当前目录下的1.txt文件
#如果当前目录下有1.txt,则会删除原文件内容,写入Hello World
echo 1234 >> 1.txt #将1234追加到当前目录下的1.txt中,如果文件不存在会创建新文件
mv /目录1/文件 /目录2/ 把文件移动到目录2
mv /home/audio/* /zoo 将文件夹下的全部文件移动到/zoo下
mv /home/audio/*.txt /zoo 将文件夹下的后缀为txt格式的文件移动到/zoo下
nohup /home/run.sh & 后台运行命令,退出终端不影响程序运行
在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,
&:让命令在后台执行,终端退出后命令仍旧执行。
sh /home/run.sh
主要使用sfp命令
1登录
sftp root@10.101.1.1
2切换远程机目录
cd
3切换本地主机目录
lcd
4上传文件给远程机器
把本地服务器的D:/MyKit/test目录下面的2020.txt文件上传到远程服务器的/home/ilog/test目录下。
put D:/MyKit/test/logs /home/ilog/test/
sftp> lcd D:/MyKit/test
sftp> cd /home/ilog/test
sftp> put 2020.txt
5下载(接上面)
get /home/ilog/test/0824.txt D:/MyKit/test/
cat 1.txt 从第一个字节开始正向查看文件的内容
cat -b 1.txt 列出行号正向查看文件的内容
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写
tac 1.txt 倒着显示文件的内容
more 1.txt 查看一个长文件的内容,一页一页翻动
more 运行时可以输入的命令有:
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
b 或 [ctrl]-b :代表往回翻页
:f :立刻显示出档名以及目前显示的行数;
less 1.txt类似于 ‘more’ 命令,反向操作 从文件末尾开始
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
head -10 1.txt 查看一个文件的前十行
取出文件后面几行
tail -n 10 web.log 查看一个文件的最后十行
tail -fn 500 web.log (最常用的命令) 实时查看500行日志
tail -f web.log 实时查看文件内容
tail -f web.log | grep “error” 查询正在改变的日志,匹配字符串error
tail -f web.log > temp.txt 查询日志指定生成文件查看
Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
linux中的打包文件:xx.tar
linux中的压缩文件:xx.gz
linux中打包并压缩的文件:xx.tar.gz
其中:
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
最常用命令
打包
tar -cvf app.tar *.jpg 将目录里所有jpg文件打包成 app.tar
打包并压缩
tar -zcvf app.tar /home/admin/ 打包并压缩该目录下的所有文件 压缩后的压缩包指定名称为xxx.tar
注意:tar -zxvf 用于解压 .tar.gz 后缀结尾的
tar -xvf 用于解压 .tar后缀结尾的
tar -xvf file.tar 解压 tar 包
tar -xvf file.tar -C /home/admin ------C代表指定解压的位置
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
gzip file1 压缩一个叫做 'file1’的文件
gzip -9 file1 最大程度压缩
gunzip file1.gz 解压一个叫做 'file1.gz’的文件
r:表示读权限 数字表示为4
w:表示写权限 数字表示为2
x:表示执行权限 数字表示为1
从左到右分别代表:用户 用户组 其他用户 的权限
chmod +nnn 文件名 n代表数字 +代表赋权
chmod -R +nnn 目录名 给目录及目录下所有文件赋权
实例:赋予所有用户 可读、可写、可执行权限
chmod +777 文件名
chmod 用户:用户组 文件
实例:修改文件所属为asap用户,root组
chown asap:root 文件名
chown -R asap:root 目录名
free -h 查看内存占用
df -lh 查看磁盘空间占用
du -sh * 查看文件大小
du -h -x --max-depth=1 查看占用空间最大的目录或文件
1、查看磁盘空间
df -lh
2、切换到root:cd /
执行:du -h -x --max-depth=1 查看占用空间最大的目录或文件
附:
或者执行du -sh *
大目录排序:
du -h --max-depth=2 | sort -n
大目录排序且只看前12个:
du -h --max-depth=2 | sort -nr | head -12
3、进入占用空间最大的目录中
继续执行:du -h -x --max-depth=1
找到大的无用的文件删除即可,如果还没找到可删除的较大文件继续执行:du -h -x --max-depth=1,以此类推
4.排查到某目录 查看最大文件
ls -lhS
rm -rf 文件
验证删除后是否仍被打开
lsof |grep deleted
发现文件依旧被打开,杀掉对应进程号
kill -9 986524
Vim 是从 vi 发展出来的一个文本编辑器。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
dd 删除游标所在的那一整行
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
u 返回到上一步
: 切换到底线命令模式,以在最底一行输入命令。
ctrl-f ctrl-b 向后/往前翻页 f就是forword b就是backward
ctrl-d ctlr-u 翻半页。d=down u=up
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个文档的第一行,相当于 1G !(常用)
G 翻页直接到最后 (常用)
输入模式
Page Up/Page Down,上/下翻页(MAC 为 fn + 向上/向下 箭头)
ESC,退出输入模式,切换到命令模式
底线命令模式
:wq 保存
:q!不保存退出
:%s/pattern//gn 查找字符串出现的次数 pattern为查找的字符串
:set nu 显示行号
:set encoding=utf-8 打开日志时,中文乱码时可转换成中文
下面的超级好用
/word 向光标之下寻找一个名称为 word 的字符串 (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。(太常用)
n 英文按键,如果刚刚我们执行 /word 去向下搜寻 word 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 word 的字符串
N 与n相反,向上搜索
ifconfig 查看网卡信息
ping 查看与某台机器的连接情况
telnet ip port 测试端口的连通性 例如:telnet 10.28.22.41 80
netstat -palnt 查看当前系统端口
netstat -palnt | grep 8080 搜索指定端口8080
netstat -anp | grep 端口号 检查端口是否存活(超级常用)
sar -n DEV 2 实时接收多少字节情况 (常用)
ps -ef | grep es 查看正在运行的进程es (常用)
top -u root 查看用户root的所有进程
lsof -i:8051 查看端口号被哪个进程占用
kill -9 pid 强制杀死进程。pid:进程号
service iptables start --启动iptables服务
service iptables stop --停止iptables服务
service iptables status --查看iptables服务的状态
service iptables restart --重启iptables服务
yum install crontabs 安装定时任务
crontab -l 查看定时任务列表
crontab -e (等同于vim /var/spool/cron/root) 编辑任务列表
service cron start --启动服务
service cron stop --关闭服务
service cron restart --重启服务
service cron reload --重新载入配置
service crond status --查看crontab服务状态
如果上面的执行不了,可执行这个
systemctl stop crond.service
systemctl start crond.service
systemctl status crond.service