linux常用命令(干货来袭,随时更新!!!)

现在已经积攒到50个了,后期不断更新,都是最常用最实用的,谢谢。
最常用:
rm:
rm **/xxxx.xxx
号只能递归当前目录,不能访问到 /xxx/xxx下级目录
这个可以递归,使用管道方式进行递归:
$ find . -name “final” | xargs rm -f
rm: cannot remove ‘./testdirsub/finaldir’: Is a directory
rm: cannot remove ‘./testdirsub/finaldir/finals’: Is a directory
sea@DESKTOP-LS1BRG4 MINGW64 /d/work/testdirp
$ find . -name “final” | xargs rm -rf
sea@DESKTOP-LS1BRG4 MINGW64 /d/work/testdirp

netstat -nltp 查看端口号
ps -ef | grep xxx
ps -ax | grep crond
pwd 查看当前目录路径
cd rm mv cat tail vim
crontab -e (-l) linux 自带
./xxxx.sh 执行文件,有区别于 windows的xxxx.sh
bash xxx.sh
source profile . /profile 生效改动
reboot (-p 强制重启) poweroff 关机
软链接 …..
scp
sudo 授权root运行
su username 切换用户
改用户名
ps jinchenghao 查看进程文件所在目录
tar zcvf newfile.tar.gz * (*为文件路径)
tar zxvf xxxx -C /usr/compressurl 解压到指定路径
了解bash
更改bash
更改,及新增命令
kill 1000 jinchenghao 进程号,或进程名称
more 动态输出数据到屏幕

1、全局查询文件
find / -name xxxxx.mp3
2、查询某个文件夹下文本中的某个字符串
sudo grep -r name.txt /etc/nginx/conf.d/ TODO
3、ll ls l 都可以列出文件
4、ps progres status 可以查询进程的状态
5、mv oldname newname 重命名
6、rm -r 删除
7、in -s …..软连接 ,如果没有s就是硬链接,语法如下:

8、cd /xxx/xxx是相对路径
9、scp上传
10、打开文本
tail 文件流的方式实时输出 ,cat , vi, vim
11、在.d文件夹下查询name.txt文件
sudo grep -r name.txt /etc/nginx/conf.d/
12、ps 进程 可以查看进程信息(包括路径)
13、rpm 安装
rpm -ivh /media/cdrom/RedHat/RPMS/s
14、.gz解压:
gzip -d xxx.gz
15、查找安装的rpm包
rpm -qa |grep mysql
16、加上–nodeps 强制删除mysql
rpm -e mysql-libs-5.1.73-7.el6.x86_64 –nodeps mysql
17、tar:
tar xvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz

tar zxvf /bbs.tar.zip -C /zzz/bbs

//把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录
这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!

附:用tar命令打包
例:将当前目录下的zzz文件打包到根目录下并命名为zzz.tar.gz

tar zcvf /zzz.tar.gz ./zzz

18、scp
scp -r mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz [email protected]:/usr/local/tool
19、wget
wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -P /yapp/tool –progress=bar
20、 ll -t 升序 ll -t | tac 降序
21、查找大文件:
find / -size +800M
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
find . -type f -size +800M -print0 | xargs -0 du -hm | sort -n
22、查找大文件夹:
du -hm –max-depth=2 | sort -nr | head -12
23、Linux下统计文件夹大小
du -sh ./
统计文件夹占用的空间
find ./ -type f xargs ls -l awk ‘BEGIN { size=0;}{size+=$5};END{print size}’
统计所有文件的大小
du == disk usage (磁盘使用量,占用的磁盘空间)/
24、日志分割
split -b 200M catalina.out – 每个文件200M
25、rar解压缩
http://www.rarlab.com/download.htm
下载后根目录make安装
rar e aa.rar 将aa.rar压缩文件解压到当前目录,aa文件中原包含的目录全没有。
rar x aa.rar 将aa.rar压缩文件解压到aa目录下,并保持原来压缩之前aa文件的目录组织结构。
26、查询外网ip
curl icanhazip.com
27、文件个数:
ls -lR|grep “^-“|wc -l
28、置空:
1.彻底置空,也就是ls文件的大小为0,文件里面什么都没有
(1): > filename
(2)true > filename
(3)cat /dev/null > filename
(4)> filename

2.置空文件,但是文件中有空行,ls文件的大小,显示还有大小
(1)echo “” > filename
(2)echo > filename
ftp://ftp.software.ibm.com
显示最后几行:
tail -n 20 filename
说明:显示filename最后20行

29、查看日志
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -2 /etc/passwd 或 tail -n 2 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果,用Ctrl+c来终止!
3. 查看文件中间一段,你可以使用sed命令,如:
sed -n ‘5,10p’ /etc/passwd
这样你就可以只查看文件的第5行到第10行。
ls | wc watch num

30、搜索指定日期日志文件:
sed -n ‘/^起始日期/,/^结束日期/p’ 日志文件 > 新文件(输出文件)
例如:查询2014-04-24这天的所有日志内容: (前提是catalina.out日志中的每行都是以日期格式开头的!)
sed -n ‘/^2014-04-24/,/^2014-04-25/p’ catalina.out > rx.log

截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作:

1,sed查看某时间段到现在的系统日志:
sed -n ‘/May 20 17/,$p’ /var/log/messages | less

2,sed 截选时间段日志:
假如日志的格式是–

“2015-05-04 09:25:55,606 后面跟日志内容 ”这样的
目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来:
使用sed命令如下:
sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile
这样可以精确地截取出来某个时间段的日志。

如果需要截取的日志太大,达到几个G的话,不能去vi打开文件:
根据之前的日志格式,使用正则表达式:
sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile
如果没有问题的话,上面就能筛选出指定的时间段的日志。

30、查看Linux机器是32位还是64位的方法:

● file /sbin/init 或者 file /bin/ls
/sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
如果显示 64-bit 则为64位;

file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
如果显示为32 bit 则为32bit;

uname -a 查看内核
Linux pmx002**.. 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
x86_64表示64位机器
uname -a
Linux pmx0**.. 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux

i686表示32位机器
i686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持.

31、压缩并保留源文件
unzip test.zip
它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项
unzip test.zip -d /root/
gunzip test.txt.gz
它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向
gzip -c test.txt > /root/test.gz
这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样
gunzip -c /root/test.gz > ./test.txt
http://blog.csdn.net/ljchlx/article/details/8028672

32、直接用passwd修改就可以了,不需要知道其它用户的密码。
1. 以root帐户登录
2. 输入passwd username,username是你要修改的用户的用户名
3. 此时会提示你输入新密码,输入2次新密码,修改完成
tail -1000 catalina.out | more

33、grep ”
可以全局查找当前目录下的所有字符串包含的。。。

34、tar zxvf xxxx.tar.gz 可以解压gz
xxx.tar 需要tar xvf xxx.tar 来解压
压缩 tar zcvf new.tar.gz old.xxx
35、更改字符集
[root@iZ23vflce0dZ ~]# echo $LANG
zh_CN
[root@iZ23vflce0dZ ~]# LANG=en_US.UTF-8
[root@iZ23vflce0dZ ~]# ll
total 0
这只是临时的,永久生效法:
[root@localhost sbin]# cd
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# vi .bash_profile
[root@localhost ~]# source .bash_profile

36、释放内存
[root@slave2 tomcatmall8085]# echo 3 > /proc/sys/vm/drop_caches
[root@slave2 tomcatmall8085]# cat /proc/sys/vm/drop_caches
3
java -jar -Xmx5096m pointsmalllogs1201.jar 2016-11-01 2018-11-30

37、杀进程、冻结进程

cat /etc/fstab

直接pkill tomcat
不用找id

linux 冻结进程

有时候进程杀掉又重新生成,可以冻结来解决!

skill -STOP oracle
来自: http://man.linuxde.net/skill

38、查找文件大小
将一个读入文件的大小赋值给变量
filesize=stat -c "%s" filename
或者
filesize=wc -c < filename
注意用着重号(跟波浪线同一键),而不是单引号

[root@iZ23vflce0dZ sea]# filesize=wc -c < pointsmalllogsAndMysql.jar
[root@iZ23vflce0dZ sea]# echo $filesize
23852178
[root@iZ23vflce0dZ sea]#

39、读取文件中的内容,并将其存入到变量中
var= (cat name.txt)  40、Linux Shell脚本获取文件大小    1. #!/bin/bash    2.    3. size() {    4.   stat -c %s 1 | tr -d ‘\n’
5. }
6.
7. size “/home/cheng/vista.img”

41、统计文本中的字符串个数
最开始的时候是用-c这个选项,不过-c只能统计一行的,如果一行里面有多个匹配的字符串,那-c就无能为力了。
这个是正确的
[root@bzhou test]# grep -o ‘haha’ file | wc -l
3

42、.tar.bz2文件解压命令
.tar.gz 格式解压为 tar -zxvf xx.tar.gz
.tar.bz2 格式解压为 tar -jxvf xx.tar.bz2

43、如何卸载rpm包
首先通过 rpm -q <关键字> 可以查询到rpm包的名字
然后 调用 rpm -e <包的名字> 删除特定rpm包
如果遇到依赖,无法删除,使用 rpm -e –nodeps <包的名字> 不检查依赖,直接删除rpm包
如果恰好有多个包叫同样的名字,使用 rpm -e –allmatches –nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖

44、统计文件数量
ls -l|grep “^-“| wc -l

45、修改系统时间
date命令
ntpdate cn.pool.ntp.org
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

46:more命令
s前进
b后退
回车下一行

47:磁盘剩余空间
df -h

48、查看并修改文件编码:
进入vi编辑器(进入esc命令模式),执行set fileencoding,查看文件的编码
执行命令:set fileencoding=utf-8,然后回车,此时我们将文件的格式改成了utf-8格式

49、排除过滤
mv ls |grep -v files| backfiles/
脚本法:

!/bin/bash

cd /backup/web/WebContent/
mpp=ls|grep -v conf|grep -v upload
mv $mpp /temp

50、根据指定字符串获取pid

! /bin/bash

process-monitor.sh

process= 1 p i d = (ps -ef | grep p r o c e s s | g r e p j a v a | g r e p v g r e p | a w k p r i n t $ 2 ) e c h o pid
执行: bash xxx.sh

51、不解压直接查看tar包内容
1. file.tar.gz
gzip -dc file.tar.gz | tar tvf -
2. file.tar.bz2
bzip2 -dc file.tar.bz2 |tar tvf -
3. file.tar
tar tvf file.tar

猜你喜欢

转载自blog.csdn.net/oceanyang520/article/details/80426033