当前位置:   article > 正文

Linux 最常用命令汇总_linux命令t

linux命令t

一、文件操作

进入文件夹

cd ~ 进入主目录 
cd .. 返回上一级目录 
cd .... 返回上两级目录 
cd - 返回上次所在的目录
  • 1
  • 2
  • 3
  • 4

查看文件夹下文件

ls 查看当前目录下的文件 
ls -l a* 列出当前目录以a开头的文件 
ls -a 查看所有文件 包括隐藏文件
ll 查看文件详细信息
pwd 显示工作路径
  • 1
  • 2
  • 3
  • 4
  • 5

创建文件夹

mkdir 文件名 新建文件夹 
mkdir dir1 dir2 同时创建两个目录 
mkdir -p tmpdir1dir2 创建一个目录树
rmdir 文件名 是删除文件夹目录 
  • 1
  • 2
  • 3
  • 4

复制文件

cp file1 file2 复制文件到 某个文件目录 
cp -rf /tomcat/*  /tomcat2/  复制文件夹  
cp dir1 . 复制一个目录下的所有文件到当前工作目录
cp -a file1 file2 在保留原文件属性的前提下复制文件
  • 1
  • 2
  • 3
  • 4

移动文件

mv 移动指定文件到指定位置 
mv dir1 new_dir 重命名移动 一个目录
  • 1
  • 2

删除文件

rm a.log 删除普通文件
rm -rf *.*  删除这个目录下所有的文件
rm -rf *关键字*  删除和关键字有关的所有文件 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思

删除 文件修改时间距今1天以前的.log结尾的文件,排除
find  bop-fms-* -type f -name "*.log" -mtime +1 ! -name "*job*" ! -name "[0-9]*" -exec rm -f {} \;

反向删除:
rm -rf !(*2021-02-2*|*job) 反向删除当前目录下文件名含有2021-02-2、后缀为job之外的所有文件
cd /data0/bop-fms-account-info/logs
rm -rf !(*2021-02-2*|*job)

删除目录下所有某个后缀名的文件
find /data0/maven/repo -name "*.lastUpdated" | xargs rm 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Linux下定时删除指定目下n天前的文件

查看文件内容

cat file1 从第一个字节开始正向查看文件的内容
cat -n file1 带行号查看文件内容
cat -n test.txt | grep '999' 查看文件文件中那些行包含‘999’
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
head -n 20 text.txt | tail -n 10 打印日志文件中第11到20行。
cat -n test.txt | head -n 20 | tail -n 10(如果需要行号)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

实时查看文件内容

tail -f 文件名 实时查看被添加到一个文件中的内容
tail -300f shopbase.log #倒数300行并进入实时监听文件写入模式
tail -2 file1 查看一个文件的最后两行
tail -f varlogmessages 实时查看被添加到一个文件中的内容
  • 1
  • 2
  • 3
  • 4

创建文件

touch file.txt 创建一个新文件 -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
  • 1

编辑文件

cat -n rsyslog.conf //显示所有行号(包括空行)
vi  file1 编辑文件
vim file1  编辑文件```
:89 //vi命令下 快速定位到指定行 (没有输入i进行编辑前)
:set nu  //vi命令下 显示行号 (没有输入i进行编辑前)
":"  + "e!" 文件重新载入  
/pattern Enter 查找 
normal模式下 g表示全局, x表示查找的内容, y表示替换后的内容
:%s/x/y/g

normal模式下
按0  光标移到行首(数字0)
按$  光标移至行尾
shift + g 跳到文件最后
gg 跳到文件头

dd 快速删除整行数据


显示行号
:set nu
去除行号
:set nonu

检索
/xxx(检索内容)  # 从头检索, 按n查找下一个
?xxx(检索内容)  # 从尾部检索
打开只读文件,修改后需要保存时(不用切换用户即可保存的方式)

在normal模式下
:w !sudo tee %
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

追加文件内容

echo "max_connections=1000">>mysqld.cnf

// 将内容追加到 test.sh 的后面,不会覆盖掉原有的内容
cat << EOF >> test.sh 
> 777
> 888
> EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

添加文件内容

// 注意会覆盖原来的内容
echo "max_connections=1000">mysqld.cnf 

// 会覆盖原来的内容
cat << EOF > test.sh
> 123456
> 456789
> adgcdg
> EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

替换文件内容

sed -i 's/d/7523/' /home/1.txt  只替换第一次出现的d字符串
sed -i 's/user/userName/g' 123.txt sed命令可以批量替换多个文件中的字符串

perl -pie "s/wq/192.168.1.53/g" 123.txt   把123.txt文件中的所有wq都替换为192.168.1.153
  • 1
  • 2
  • 3
  • 4

清空文件

cat /dev/null>1231xxx.log
> filename
echo > fileName
echo '' > fileName 
  • 1
  • 2
  • 3
  • 4

压缩解压文件

zip  把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
zip -r abc123.zip abc 123.txt  把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
unzip -n filename.zip #跳过已存在文件
unzip -o  file.zip #直接覆盖已存在文件
unzip mydata.zip -d mydatabak  把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip -oq iss.war -d ../tomcat7/webapps/iss
unzip wwwroot.zip  把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip -v wwwroot.zip  查看把/home目录下面的wwwroot.zip里面的内容
unzip -j wwwroot.zip   把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
tar -czf test.tar.gz /test1 /test2 压缩文件
tar -xvzf test.tar.gz 解压文件
jar -xvf project.war /project_a
jar -xvf project.war
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

分割文件

split [-a] [-b] [-C] [-l] [要分割的文件名] [分割后的文件名前缀]
–version 显示版本信息
– 或者-l,指定每多少行切割一次,用于文本文件分割
-b 指定切割文件大小,单位 m 或 k
-C 与-b类似,但尽量维持每行完整性
-d 使用数字而不是字母作为后缀名
-a 指定后缀名的长度,默认为2位
每10万行切割一次:
diff  split -l 100000 advertiser83.txt ad83.
每个15m大小切割一次:
split -b 15m advertiser.txt ad.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

文件合并

cat file1 file2 file3 > file_all
  • 1

文件对比

//以制表符为分隔符将文件中的第6、9、11、13列排除后按第一列为key排序,结果重定向到另一个文件
cat advertiser-83-10.txt |awk -F"\t" '{$6=$9=$11=$13="";print $0}'|sort -k1 > new_advertiser-83-10.txt
cat advertiser-81-10.txt |awk -F"\t" '{$6=$9=$11=$13="";print $0}'|sort -k1 > new_advertiser-81-10.txt
diff -r new_advertiser-83-10.txt new_advertiser-81-10.txt > diff.txt

//以{"、:,}任何一个为分隔符按第6列为key,按整数从小到大进行排序,结果重定向到另一个文件
cat exempt_uid_list_20200411-81.txt |awk -F"[{\"":,}] '{print $0}'|sort -k6n > exempt_uid_list_20200411-81.txt_sort 
cat exempt_uid_list_20200411-83.txt |awk -F"[{\"":,}] '{print $0}'|sort -k6n > exempt_uid_list_20200411-83.txt_sort 
diff -r exempt_uid_list_20200411-81.txt_sort exempt_uid_list_20200411-83.txt_sort > diff.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

显示文件树

tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
  • 1
  • 2

软链接

ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
  • 1
  • 2

一次执行多个shell命令

cd /data0/bop-fms-account-info/logs; rm -rf !(*2021-02-2*|*job); cd /data0
  • 1

nc 远程传输文件

远程拷贝文件到本地
从server1拷贝文件到server2上。需要先在server2上,用nc激活监听。

server2 ip: 192.168.200.27
server2:
nc -l 9000 > abc.txt
server1:
nc 192.168.200.27 9000 < abc.txt
  • 1
  • 2
  • 3
  • 4
  • 5

Linux nc 文件同步 常用命令汇总

scp 远程传输文件

scp full.tar.gz root@192.168.191.128:/home/soft   把当前系统文件复制到远程linux主机
scp root@192.168.191.128:/opt/soft/test.txt /home/soft/  把远程linux主机文件复制到当前系统
  • 1
  • 2

Linux下用SCP免密传输文件设置
如何在 Linux 中将密码传递给 scp

二、查找搜索文件

# 查询文件夹下所有文件包含此内容的信息
grep -rn a26003208271fd94 *
grep -rn 1b697b9f94a73677 *2021-08-17* //查询多个文件是否包含1b697b9f94a73677
# 查询指定文件名包含为2010-01-15的文件中查找指定信息
grep topic:bop_fms_lsm_account_recharge_new *2020-01-15* | grep 7156235864
# 在某个目录下查找包含某个字符串的文件
grep -r "zh_CN" ./
# 注:n,显示行号 R,查找所有文件包含子目录 i,忽略大小写 最后的“xxx”表示想要查找的文件名
grep -niR 'exception'  filename 
grep 'test' d* 显示所有以d开头的文件中包含test的行
grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行
grep '[a-z]\{$\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
grep -H 'spring' *.xml 查找所有的包含spring的xml文件

grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -C 5 "2022-07-22 16:15" exception-2022-07-22.0.log

grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行


find -name file.txt 查找当前目录文件
find / -name filename.txt 根据名称查找/目录下的filename.txt文件
find . -name "*.xml" 递归查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件
find ./ -size e | xargs rm -f & 删除文件大小为零的文件
ls -l | grep '.jar' 查找当前目录中的所有jar文件
ls | grep app*  搜索当前目录下指定文件
whereis nginx
whereis java
从根据目录开始查找
find / -name tomcat 
find / -name 123 搜索根和子目录 名字为 123的文件
从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息。 
find / -name "httpd.conf" -ls
在根目录下查找某个文件
find . -name "test"
sudo -u admin find /home/admin /tmp /usr -name \*.log(多个目录去找)
find . -iname \*.txt(大小写都匹配)
find . -type d(当前目录下的所有子目录)
find /usr -type l(当前目录下所有的符号链接)
find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)
find /home/admin -size +250000k(超过250000k的文件,当然+改成-就是小于了)
find /home/admin f -perm 777 -exec ls -l {} \; (按照权限查询文件)
find /home/admin -atime -1  1天内访问过的文件
find /home/admin -ctime -1  1天内状态改变过的文件    
find /home/admin -mtime -1  1天内修改过的文件
find /home/admin -amin -1  1分钟内访问过的文件
find /home/admin -cmin -1  1分钟内状态改变过的文件    
find /home/admin -mmin -1  1分钟内修改过的文件

head -n 10 example.txt 查看文件前10行

awk '{print $4,$6}' f.txt
awk '{print NR,$0}' f.txt cpf.txt    
awk '{print FNR,$0}' f.txt cpf.txt
awk '{print FNR,FILENAME,$0}' f.txt cpf.txt
awk '{print FILENAME,"NR="NR,"FNR="FNR,"$"NF"="$NF}' f.txt cpf.txt
echo 1:2:3:4 | awk -F: '{print $1,$2,$3,$4}'
awk '/ldb/ {print}' f.txt   #匹配ldb
awk '!/ldb/ {print}' f.txt  #不匹配ldb
awk '/ldb/ && /LISTEN/ {print}' f.txt   #匹配ldb和LISTEN
awk '$5 ~ /ldb/ {print}' f.txt #第五列匹配ldb

awk参考:https://blog.csdn.net/qq_23587541/article/details/81392170
sort参考:https://blog.csdn.net/z1164072826/article/details/81056872
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68

三、进程和端口

查看端口占用情况:
yum install net-tools
netstat -ant 查看服务器所有被占用端口
netstat -tunlp | grep 端口号 验证某个端口号是否被占用
netstat -lntp 查看所有监听端口号
netstat -apn 查看所有进程和端口使用情况,其中最后一栏是PID/Program name 

ip addr 查看IP
ps -ef 查看正在活动的进程 
ps -ef | grep java 查看进程中有java的所有进程
kill -9 xxxpid 关闭某个进程
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

四、网络

ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
mount -t cifs //ip地址/共享文件夹名 /mnt -o username=FZY,password=feng
clear:如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空
echo command 打印出你的输入
ctrl + c 中止当前执行的脚本  回到命令输入模式
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

修改hostname

1.通过命令hostnamectl 来修改。此种方式既可以修改/etc/hostname文件,又可以立即生效。
hostnamectl set-hostname new-test28

2. /etc/hostname 文件保存主机名
通过vi修改此文件来修改主机名,重启才会生效。

3.hostname命令只是临时修改主机名,重启会失效。其修改的是内核参数kernel.hostname 对应文件/proc/sys/kernel/hostname
hostname new-hostname
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

五、磁盘 查看磁盘使用情况

df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
du -sh * 快速查看是哪个文件占用空间大
du -sh [目录名] 返回该目录的大小
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间
du -ch *2020-12-03*  统计指定文件名的大小
du -sk sort -rn 以容量大小为依据依次显示文件和目录的大小
du -sm [文件夹] 返回该文件夹总M数
find / -size +100M -exec ls -lh {} \; 查询大于100M的文件
free -m  查看内存剩余大小
ls -lSr more 以尺寸大小排列文件和目录

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

rpm相关

查看是否通过rpm安装了该软件
rpm -qa | grep 软件名
以大小为依据依次显示已安装的rpm包所使用的空间
rpm -q -a --qf '%10{SIZE}t%{NAME}n'  sort -k1,1n 
  • 1
  • 2
  • 3
  • 4

sshkey

创建sshkey
ssh-keygen -t rsa -C your_email@example.com

id_rsa.pub 的内容拷贝到要控制的服务器的 home/username/.ssh/authorized_keys 中,如果没有则新建(.ssh权限为700, authorized_keys权限为600)
  • 1
  • 2
  • 3
  • 4

同步服务器时间

sudo ntpdate -u ntp.api.bz
  • 1

六、查看java进程pid

ps -ef | grep  java
  • 1

七、权限(用户权限和读写执行权限)

chmod 777 给文件赋予所有权限 
chmod +x 给文件赋予可执行权限   
chmod 755 -rwxr-xr-x  
chmod 744 -rwxr--r--
su - deployer 切换到deployer用户
su -i 切换到root
sudo 可执行root权限操作
sudo chown aiuap_jc:aiuap_jc iss  把iss目录的root拥有权限改成aiuap_jc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

八、用户和群组

useradd -c Name Surname  -g admin -d homeuser1 -s binbash user1 创建一个属于 admin 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
usermod -c User FTP -g system -d ftpuser1 -s binnologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
userdel peter 删除用户
useradd -d /var/ftp -s /sbin/nologin 12321
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

九、Nginx配置

cd /usr/local/nginx/
cd /opt/issystem/logs/nginx/
sudo tail -f -n 1000 access.log
sudo ./nginx -s reload 
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  • 1
  • 2
  • 3
  • 4
  • 5

十、Mysql导入导出

导出(无需登录):
mysqldump -uroot -ppwd isdb > isdb-20171124.sql
mysqldump -uroot -ppwd isdb tb_d_uniskuser > tb_uniskuser.sql
mysqldump -t isdb -uroot -ppwd --tables tb_rubbish tb_rubbish_appeal > rubbishAll.sql
zip -r isdb-20170828.zip isdb-20170828.sql

导入(需要登录):
./mysqllogin
use isdb;
source /root/isdb-20171124.sql;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

十一、查找后台运行的程序和脚本

查看正在运行.sh脚本
ps aux|grep clear_data.sh

查看后台进程
ps aux|grep java 查看java进程
ps aux 查看所有进程

ps -ef|grep tomcat 查看所有tomcat的进程
ps -ef|grep --color java 高亮要查询的关键字
查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况

查看端口属于哪个程序
lsof -i :8080

以树状图列出目录的内容
tree a

文件下载
wget http://file.tgz 
curl http://file.tgz

远程登录
ssh username@ip

打印信息
echo $JAVA_HOME 打印java home环境变量的值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

十二、 查看系统信息 cpu信息

uname -a   查看内核/操作系统/CPU信息的linux系统信息命令
lsb_release -a 查看操作系统  注:可惜需要安装 yum -y -install lsb
head -n 1 /etc/issue   查看操作系统版本,是数字1不是字母L
查看系统内核版本,类似uname -r
cat /proc/version 

查看当前用户环境变量
env
查看CPU信息的linux系统信息命令
cat /proc/cpuinfo
查看有几个逻辑cpu, 包括cpu型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看有几颗cpu,每颗分别是几核
cat /proc/cpuinfo | grep physical | uniq -c
查看当前CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不支持64bit
getconf LONG_BIT
结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit
cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"   查看linux CPU大小
cat /proc/meminfo |grep MemTotal   查看内存大小 
grep MemFree /proc/meminfo # 查看空闲内存量
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令

cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
ifconfig -a  查看IP地址 
ip addr 查看ip
lsblk 查看所有硬盘
fdisk -l |grep Disk   查看硬盘大小


lspci -tv  列出所有PCI设备
lsusb -tv 列出所有USB设备的linux系统信息命令
lsmod  列出加载的内核模块
env  查看环境变量资源
free -m  查看内存使用量和交换区使用量
df -h  查看各分区使用情况
du -sh  查看指定目录的大小
uptime  查看系统运行时间、用户数、负载
cat /proc/loadavg  查看系统负载磁盘和分区
mount | column -t  查看挂接的分区状态
fdisk -l  查看所有分区
swapon -s  查看所有交换分区
hdparm -i /dev/hda  查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE  查看启动时IDE设备检测状况网络
ifconfig 查看所有网络接口的属性
iptables -L -n 查看防火墙设置
route -n 查看路由表
netstat -lntp  查看所有监听端口
netstat -antp  查看所有已经建立的连接
netstat -s  查看网络统计信息进程
ps -ef 查看所有进程
top  实时显示进程状态用户
w  查看活动用户
id  查看指定用户信息
last  查看用户登录日志
cut -d: -f1 /etc/passwd  查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l  查看当前用户的计划任务服务
chkconfig –list 列出所有系统服务
chkconfig –list | grep on  列出所有启动的系统服务程序
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64

软件信息

./version.sh  查看tomcat jvm版本 先进到tomcat的bin目录
cd /usr/local/nginx/sbin  ./nginx -v     查看nginx 版本 
mysql -v    查看mysql 版本 
java -version  查看java版本 
whereis java
which java (java执行路径)
echo $JAVA_HOME
echo $PATH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

网络和端口

vi /etc/hosts
128.102.10.234 www.test.bp.com

netstat -anp|grep 80 网络管理netstat命令 查看端口

测试IP和端口是否可连接
telnet ip port 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

关机 (系统的关机、重启以及登出 )

shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hoursminutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

挂载文件

mount devhda2 mnthda2 挂载一个叫做hda2的盘 - 确定目录 ' mnthda2' 已经存在
umount devhda2 卸载一个叫做hda2的盘 - 先从挂载点 ' mnthda2' 退出
fuser -km mnthda2 当设备繁忙时强制卸载
umount -n mnthda2 运行卸载操作而不写入 etcmtab 文件- 当文件为只读或当磁盘写满时非常有用
mount devfd0 mntfloppy 挂载一个软盘
mount devcdrom mntcdrom 挂载一个cdrom或dvdrom
mount devhdc mntcdrecorder 挂载一个cdrw或dvdrom
mount devhdb mntcdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso mntcdrom 挂载一个文件或ISO镜像文件
mount -t vfat devhda5 mnthda5 挂载一个Windows FAT32文件系统
mount devsda1 mntusbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass WinClientshare mntshare 挂载一个windows网络共享
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

查看定时任务

crontab -l
// 编辑定时任务
crontab -e
// 删除定时任务
crontab -r
  • 1
  • 2
  • 3
  • 4
  • 5

后台运行命令

后台运行,并且有nohup.out输出
nohup xxx &

后台运行, 不输出任何日志
nohup xxx > /dev/null &

后台运行, 并将错误信息做标准输出到日志中 
nohup xxx >out.log 2>&1 &
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

强制活动用户退出

命令来完成强制活动用户退出.其中TTY表示终端名称
pkill -kill -t [TTY]
  • 1
  • 2

查看命令路径

which <命令>
  • 1

查看进程所有打开最大fd数

ulimit -n
  • 1

配置dns

vim /etc/resolv.conf
  • 1

nslookup,查看域名路由表

nslookup google.com
  • 1

last, 最近登录信息列表

最近登录的5个账号
last -n 5
  • 1
  • 2

设置固定ip

ifconfig em1  192.168.5.177 netmask 255.255.255.0
  • 1

添加用户, 配置sudo权限

新增用户
useradd 用户名
passwd 用户名
增加sudo权限
vim /etc/sudoers
修改文件里面的
# root    ALL=(ALL)       ALL
# 用户名 ALL=(ALL)       ALL
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

强制关闭进程名包含xxx的所有进程

ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9
  • 1

wc命令

查看文件里有多少行
wc -l filename

看文件里有多少个word
wc -w filename

文件里最长的那一行是多少个字
wc -L filename

统计字节数
wc -c
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

参考文档

Linux 运维必备 150 个命令汇总

拒绝蛮力,高效查看Linux日志文件

最强 Linux 命令总结(特别推荐版)

作为高级Java,你应该了解的Linux知识

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/63887?site
推荐阅读
相关标签
  

闽ICP备14008679号