• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Linux命令,看着一篇就够了

武飞扬头像
南辞灬
帮助1

一、目录操作

pwd				查看当前工作目录
clear 			清除屏幕
cd ~			当前用户目录
cd /			根目录
cd -			上一次访问的目录
cd ..			上一级目录
1. 查看目录内信息
ll				查看当前目录下内容(LL的小写)
2. 创建目录
mkdir aaa		在当前目录下创建aaa目录,相对路径;
mkdir ./bbb		在当前目录下创建bbb目录,相对路径;
mkdir /ccc		在根目录下创建ccc目录,绝对路径;
3. 递归创建目录

会创建里面没有的目录文件夹

mkdir -p temp/nginx
4. 搜索命令
find / -name 'b'		查询根目录下(包括子目录),名以b的目录和文件;
find / -name 'b*'		查询根目录下(包括子目录),名以b开头的目录和文件;
5. 重命名
mv 原先目录 文件的名称   mv tomcat001 tomcat 
6. 剪切命令

有目录剪切到制定目录下,没有的话剪切为指定目录

mv	/aaa /bbb			将根目录下的aaa目录,移动到bbb目录下,在bbb,也叫aaa目录;
mv	bbb usr/bbb			将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb;
7. 复制目录
cp -r /aaa /bbb			将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa
cp -r /aaa /bbb/aaa		将/目录下的aa目录复制到/bbb目录下,且修改名为aaa;
8. 强制式删除指定目录
rm -rf /bbb			强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示;
9. 删除目录
rm -r /bbb			普通删除。会询问你是否删除每一个文件

二、文件操作

1. 删除
rm -r a.java		删除当前目录下的a.java文件(每次回询问是否删除y:同意)
2. 强制删除
rm -rf a.java		强制删除当前目录下的a.java文件
rm -rf ./a*			强制删除当前目录下以a开头的所有文件;
rm -rf ./*			强制删除当前目录下所有文件(慎用);
3. 创建文件
touch testFile
4. 递归删除.pyc格式的文件
find . -name '*.pyc' -exec rm -rf {} \;
5. 打印当前文件夹下指定大小的文件
find . -name "*" -size 145800c -print
6. 递归删除指定大小的文件(145800)
find . -name "*" -size 145800c -exec rm -rf {} \;
7. 递归删除指定大小的文件,并打印出来
find . -name "*" -size 145800c -print -exec rm -rf {} \;

“.” 表示从当前目录开始递归查找
“ -name ‘*.exe’ "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件
" -type f "查找的类型为文件
“-print” 输出查找的文件目录名
-size 145800c 指定文件的大小
-exec rm -rf {} ; 递归删除(前面查询出来的结果)

三、文件内容操作(查看日志,更改配置文件)

1. 修改文件内容
vim a.java   	进入一般模式
i(按键)   		进入插入模式(编辑模式)
ESC(按键)  		退出
:wq 			保存退出(shift :调起输入框)
:q!			不保存退出(shift :调起输入框)(内容更改)
:q				不保存退出(shift :调起输入框)(没有内容更改)
2. 文件内容的查看
cat a.java		查看a.java文件的最后一页内容;
more a.java		从第一页开始查看a.java文件内容,按回车键一行一行进行查看,
                    按空格键一页一页进行查看,q退出;
less a.java		从第一页开始查看a.java文件内容,按回车键一行一行的看,
                    按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出;

总结下more 和 less的区别:

  1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
  2. less不必读整个文件,加载速度会比more更快
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容.
  4. 由于more不能后退.
3. 实时查看文件后几行(实时查看日志)
tail -f a.java			查看a.java文件的后10行内容;
4. 前后几行查看
head a.java				查看a.java文件的前10行内容;
tail -f a.java			查看a.java文件的后10行内容;
tail -300f a.java			查看a.java文件的后300行内容;
head -n 7 a.java		查看a.java文件的前7行内容;
tail -n 7 a.java		查看a.java文件的后7行内容;
5. 文件内部搜索指定的内容
grep under 123.txt			在123.txt文件中搜索under字符串,大小写敏感,显示行;
grep -n under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
grep -v under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示没搜索到的行;
grep -i under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行;
grep -ni under 123.txt		在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
6. 终止当前操作
ctrl z
ctrl c

Ctrl cCtrl z都是中断命令,但是作用却不一样。

Ctrl Z就扮演了类似的角色,将任务中断,但是任务并没有结束,在进程中只是维持挂起的状态,用户可以使用fg/bg操作前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行。
Ctrl C也扮演类似的角色,强制中断程序的执行。

7. 重定向功能

可以使用 > 或 < 将命令的输出的命令重定向到test.txt文件中(没有则创建一个)

echo 'Hello World' > /root/test.txt

四、系统日志位置

cat /etc/redhat-release		查看操作系统版本
/var/log/message			系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/message			系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 
/var/log/secure				与安全相关的日志信息 
/var/log/maillog			与邮件相关的日志信息 
/var/log/cron				与定时任务相关的日志信息 
/var/log/spooler			与UUCP和news设备相关的日志信息 
/var/log/boot.log			守护进程启动和停止相关的日志消息 
1. 查看某文件下的用户操作日志
cat .bash_history

五、创建与删除软连接

1、创建软连接

ln -s /usr/local/app /data

注意:创建软连接时,data目录后不加 / (加上后是查找其下一级目录);

2、删除软连接

rm -rf /data

注意:取消软连接最后没有/,rm -rf 软连接。加上/是删除文件夹;

六、压缩和解压缩

1. tar
tar -zcvf start.tar.gz a.java b.java	将当前目录下a.java、b.java打包
tar -zcvf start.tar.gz ./*				将当前目录下的所欲文件打包压缩成haha.tar.gz文件
tar -xvf start.tar.gz				解压start.tar.gz压缩包,到当前文件夹下;
tar -xvf start.tar.gz -C usr/local(C为大写,中间无空格)
									解压start.tar.gz压缩包,到/usr/local目录下;
2. 解压缩tar.xz文件
tar xf node-v12.18.1-linux-x64.tar.xz
3. unzip
unzip file1.zip  				解压一个zip格式压缩包
zip lib.zip tomcat.jar			将单个文件压缩(lib.zip)
zip -r lib.zip lib/				将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar		将多个文件压缩为zip文件(lib.zip)	

english.zip包,解压到指定目录下/usr/app/

unzip -d /usr/app/com.lydms.english.zip

七、Linux下文件的详细信息

 R:Read  w:write  x: execute执行
-rw-r--r-- 1 root root  34942 Jan 19  2018 bootstrap.jar
前三位代表当前用户对文件权限:可以读/可以写/不能执行
中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行
后三位其他用户对当前文件权限:可以读/不能写/不能执行

更改文件的权限

chmod u x web.xml (---x------)		为文件拥有者(user)添加执行权限;
chmod g x web.xml (------x---)		为文件拥有者所在组(group)添加执行权限;
chmod 111 web.xml  (---x--x--x)	为所有用户分类,添加可执行权限;
chmod 222 web.xml (--w--w--w-)		为所有用户分类,添加可写入权限;	
chmod 444 web.xml (-r--r--r--)		为所有用户分类,添加可读取权限;

八、常用的docker容器的命令:

1、下载镜像

Linux服务器下载安装包镜像命令

wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-windows-x86_64.zip

华为开源镜像站

https://mirrors.huaweicloud.com/
2、常用命令
#1、查看docker中下载好的镜像:
docker images
 #2、查询需要的容器名称:
docker search mysql
#3、将需要的docker容器下载运行到本地(名称、端口号、msyql密码、ID):
docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a
#4、查看运行的docker容器:
docker ps
#5、查看所有的docker容器(包括未运行的):
docker ps -a
#6、停止当前运行的docker容器:
docker stop first
#7、启动docker容器:
docker start first
#8、重启docker容器:
docker restart first
#9、删除docker容器:
docker rm first
学新通

九、运维常用命令

1、查看服务器端口号是否可用

1. 查看服务器是否可用
ping 49.32.587.164
2. 查看服务器指定端口是否可用
telnet 49.32.587.164 8093

Telnet安装

rpm -qa telnet-server   		---查看一下是否安装了telnet-server服务
yum install telnet-server   	---安装telnet-server服务
yum install telnet				---安装telnet命令

1、shutdown(关闭计算机)

shutdown是最常用也是最安全的关机和重启命令,它会在关机之前调用fsck检查磁盘,其中-h和-r是最常用的参数:

-h:停止系统服务并关机  
-r: 停止系统服务后重启  

案例:

shutdown -h now  --立即关机  
shutdown -h 10:53  --到10:53关机,如果该时间小于当前时间,则到隔天  
shutdown -h  10  --10分钟后自动关机  
shutdown -r now  --立即重启  
shutdown -r  30 'The System Will Reboot in 30 Mins'   --30分钟后重启并并发送通知给其它在线用户  

2、查看处于各种连接状态数量(ESTABLISHED、CLOSE_WAIT、TIME_WAIT)

netstat -n | awk '/^tcp/ {  S[$NF]} END {for(a in S) print a, S[a]}'

查看处于ESTABLISHED状态连接

netstat -nt | awk '{if($NF=="ESTABLISHED"){wait[$5]  }}END{for(i in wait) print i,wait[i]}'

查看处于CLOSE_WAIT状态连接

netstat -nt | awk '{if($NF=="CLOSE_WAIT"){wait[$5]  }}END{for(i in wait) print i,wait[i]}'

查看处于TIME_WAIT状态连接

netstat -nt | awk '{if($NF=="TIME_WAIT"){wait[$5]  }}END{for(i in wait) print i,wait[i]}'

3、ping命令

对 www.百度.com 发送 4 个 ping 包, 检查与其是否联通

ping -c 4 www.百度.com

4、netstat 命令

netstat 命令用于显示各种网络相关信息,如网络连接, 路由表, 接口状态等等;
列出所有处于监听状态的tcp端口:

netstat -lt

查看所有的端口信息, 包括 PID 和进程名称

netstat -tulpn

5、查看当前端口号占用情况
1.用于查看某一端口的占用情况

lsof -i:8080

2.显示tcp,udp的端口和进程等相关情况

netstat -tunlp

3.指定端口号的进程情况

netstat -tunlp|grep 8080
  1. 查询指定端口是否已经开放

    firewall-cmd --query-port=8848/tcp
    

4.查看PID进程信息

ps -aux |grep 28990

根据PID,查看JVM中各线程信息('0x9eb’为nid值)

jstack 2246|grep '0x9eb' -A 50

6、ps 命令

过滤得到当前系统中的 ssh 进程信息

ps aux | grep 'ssh'

7、管道命令

简单来说, Linux 中管道的作用是将上一个命令的输出作为下一个命令的输入, 像 pipe 一样将各个命令串联起来执行, 管道的操作符是 |
管道命令查看当前运行的程序中,名称为java的程序

ps -ef|grep java

查看/etc/passwd文件中的root内容

cat /etc/passwd | grep 'root'

查看当前系统的ip连接(Windows和Linux通用)

netstat -an

保存文件后,重启网络

/etc/init.d/network restart

十、yum常用命令

yum install iptables-services		下载并安装iptables
yum list					列出当前系统中安装的所有包
yum search package_name		在rpm仓库中搜寻软件包
yum update package_name.rpm		更新当前系统中所有安装的rpm包
yum update package_name		更新一个rpm包
yum remove package_name		删除一个rpm包
yum clean all				删除所有缓存的包和头文件

十一、其他命令

1. 查看占用资源
ps -au		占用的资源是从进程启动开始,计算的平均占用资源,比如cpu等
top			实时占用的资源;
2. 查看当前目录所占存储
du -lh			查看当前文件下各文件夹占用存储空间
du -sh			查看当前文件夹所占存储空间
du --max-depth=<目录层数> 	超过指定层数的目录后,予以忽略。
du --max-depth=1 			只查看当前目录下文件占用的存储空间
3. 管道命令:

根据项目查看进程,更加PID查看项目,以及项目路径

ps -ef 						查看所有的进程
ps -ef | grep mysql			查看mysql相关的进程

通过进程PID查看所占用的端口号

netstat -nap |grep 进程ID(PID)
4. 查看Linux下系统存储使用率
df -h			查看系统硬盘使用情况
5. 杀死进程(根据PID)

用ps查看进程后杀死

kill -9 Pid
kill -9 2630		进程pid
6. 防火墙操作
service iptables stop      临时关闭防火墙
chkconfig iptables off     防火墙开启不启动
service iptables status    查看防火墙状态
systemctl start firewalld  开启防火墙
7. 开机启动选项
msconfig					查看开机启动选项
chkconfig					查看开机启动服务列表
8. 查看MySQL服务的程序的状态
service mysql start        开启MySQL    
service mysql status       查看MySQL的状态    
service mysql stop         关闭MySQL    

9.端口操作

firewall-cmd --add-port=8848/tcp --permanent     ----开放端口 如开放8848端口
firewall-cmd --reload              ----重载入添加的端口
firewall-cmd --query-port=8848/tcp     ----查询指定端口是否开启成功
firewall-cmd --permanent --remove-port=8848/tcp            -----移除指定端口

十二、Linux内核优化

打开配置文件

vim /etc/sysctl.conf

加载新的配置(需开启防火墙iptables,否则会报错)

sysctl -p

十三、用户权限操作

1、操作用户

添加用户sum:

useradd sum

关于useradd的某些参数:

-u: 指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID

-g: 指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

-G: 指定额外组

-c: 指定用户的注释信息

-d: 指定用户的家目录

已创建的用户sum设置密码

passwd sum

新建的用户在面显示

cat /etc/passwd

删除用户sum

userdel sum

删除用户文件夹

rm -rf /usr/sum

切换下刚才添加的用户

su sum

回到root用户

exit

3、操作用户组

添加用户组

roupadd groupname

删除用户组

groupdel groupname

可以看到自己的分组和分组id

cat /etc/group

十四.linux定时任务

crontab -e

可用crontab -e命令打开编辑任务栏来编辑,

结构是cron表达式 加上脚本访问路径,定时执行这个脚本

25 04 * * * . /root/hivescript_sql/shell/location_dws_shell.sh

40 04 * * * . /root/hivescript_sql/to_hbase/app_to_hbase.sh

常用命令

查看前两百行代码

tail -200f /home/a.txt

连接mysql数据库

mysql -u root -p
输入密码

MySQL语句备份数据库

备份表结构
mysqldump -u username -p dbname table1 table2...->BackupName.sql;
#备份数据库的所有表结构
mysqldump -u root -p -d dbname > b.sql
#备份多个数据库的所有表结构
mysqldump -u root -p -d --databases db1 db2... > c.sql
#备份所有数据库的表结构
mysqldump -u root -p -d --all-databases > d.sql

备份结构和数据(相当于在备份结构的语法上去掉-d选项)
#备份表结构和数据
mysqldump -u root -p dbname table1 table2 ... > a.sql
#备份数据库的所有表结构和数据
mysqldump -u root -p dbname  > b.sql
#备份多个数据库的表结构和数据
mysqldump -u root -p --databases db1 db2  > c.sql
#备份所有数据库的表结构和数据
mysqldump -u root -p --all-databases > d.sql
学新通

连接另一个服务器命令

ssh login@192.168.1.2

传输命令

scp mdm-write-1.0.jar login@192.168.1.2:/usr/local/tempFile/

在文件编辑里模糊查询

输入 :/查询内容

password    requisite     pam_cracklib.so retry=5   minlen=16 

MongoDB linux系统下连接

在Mongo文件夹下的bin目录里运行
./mongo 127.0.0.1:20000/mdm -u 用户-p 密码

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgheace
系列文章
更多 icon
同类精品
更多 icon
继续加载