Linux常用命令汇总

Linux常用命令

目录相关

find命令

  • 查找指定文件名的文件(不区分大小写):find -iname "MyProgram.c"
  • 查找 home 目录下的所有空文件:find ~ -empty
  • 【常用】如何在 /usr 目录下找出大小超过 10MB 的文件?
    • 输入命令 find /usr -type f -size +10240k 命令。

ls命令

  • 以易读的方式显示文件大小(显示为 MB,GB…):ls -lh
  • 以最后修改时间升序列出文件:ls -ltr
  • 在文件名后面显示文件类型:ls -F

rm 命令

  • 删除文件前先确认:rm -i filename.txt
  • 在文件名中使用 shell 的元字符会非常有用。删除文件前先打印文件名并进行确认:rm -i file*
  • 递归删除文件夹下所有文件,并删除该文件夹:rm -r example

cp 命令

  • 拷贝 file1 到 file2 ,并保持文件的权限、属主和时间戳:cp -p file1 file2
  • 拷贝 file1 到 file2 ,如果 file2 存在会提示是否覆盖:cp -i file1 file2

mount 命令

  • 如果要挂载一个文件系统,需要先创建一个目录,然后将这个文件系统挂载到这个目录上:

    # mkdir /u01
    
    # mount /dev/sdb1 /u01
    
    1234
    
  • 也可以把它添加到 fstab 中进行自动挂载,这样任何时候系统重启的时候,文件系统都会被加载:

    /dev/sdb1 /u01 ext2 defaults 0 2
    

less 命令

  • 这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用:less huge-log-file.log

  • 当你用 less 命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏:

    CTRL+F – forward one window
    CTRL+B – backward one window
    按q键退出
    

通用命令

grep 命令

  • 在文件中查找字符串(不区分大小写):grep -i "the" demo_file
  • 输出成功匹配的行,以及该行之后的三行:grep -A 3 -i "example" demo_text
  • 在一个文件夹中递归查询包含指定字符串的文件:grep -r "ramesh" *

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCUwR97Y-1639019345392)(C:\Users\Acerola\AppData\Roaming\Typora\typora-user-images\image-20211203155501630.png)]

vim 命令

  • 打开文件并跳到第 10 行:vim +10 filename.txt
  • 打开文件跳到第一个匹配的行:vim +/search-term filename.txt
  • 以只读模式打开文件:vim -R /etc/passwd
  • i键: 插入模式
  • Esc键: 退出模式
  • 按":"键后,q键退出,wq保存并退出,!wq强制保存并退出

压缩相关

tar 命令(.tar)

  • 创建一个新的 tar 文件: tar cvf archive_name.tar dirname/
  • 解压 tar 文件:tar xvf archive_name.tar
  • 查看 tar 文件:tar tvf archive_name.tar

gzip 命令(.gz)

  • 创建一个 *.gz 的压缩文件:gzip test.txt
  • 解压 *.gz 文件:gzip -d test.txt.gz
  • 显示压缩的比率:gzip -l *.gz

bzip2 命令(.bz2)

  • 创建 *.bz2 压缩文件:bzip2 test.txt
  • 解压 *.bz2 文件:bzip2 -d test.txt.bz2

unzip 命令(.zip)

  • 解压 *.zip 文件:unzip test.zip
  • 查看 *.zip 文件的内容:unzip -l jasper.zip

tar 命令(.tar.gz/.tgz)

  • 解压 *.tar.gz/.tgz 文件:tar -zxvf test.tar.gz
  • 压缩 *.tar.gz/.tgz 文件的内容:tar -zcvf test.tar.gz test 。把test压缩为test.tar.gz文件

系统命令

export 命令

  • 输出跟字符串 oracle 匹配的环境变量:export | grep ORCALE
  • 设置全局环境变量:export ORACLE_HOME=/u01/app/oracle/product/10.2.0

ps命令

  • 根据进程名查询某一进程ps -aux|grep "mysql"ps -ef|grep "mysql"

kill 命令

kill 用于终止一个进程。一般我们会先用 ps -ef 查找某个进程得到它的进程号,然后再使用 kill -9 进程号终止该进程。你还可以使用killall、pkill、xkill 来终止进程

注意,-9 表示强制终止指定进程。实际场景下,不会这么做。

但一般情况下,只需要 kill 进程编号 就可结束。

passwd 命令

  • passwd 用于在命令行修改密码,使用这个命令会要求你先输入旧密码,然后输入新密码:passwd
  • 超级用户可以用这个命令修改其他用户的密码,这个时候不需要输入用户的密码:passwd USERNAME
  • passwd 还可以删除某个用户的密码,这个命令只有 root 用户才能操作,删除密码后,这个用户不需要输入密码就可以登录到系统:passwd -d USERNAME

yum 命令

  • 使用 yum 安装 apache :yum install httpd
  • 更新 apache :yum update httpd
  • 卸载/删除 apache :yum remove httpd
  • 查看安装的所有软件 : yum list all
  • 查看yum仓库中指定包名的软件包,可以使用通配符 : yum list all mysql
  • 只显示已安装的包 : yum list installed
  • 只显示没有安装,但可安装的包 : yum list available
  • 只显示没有安装,但可安装的包 : yum list updates
  • 显示不属于任何仓库的,额外的包 : yum list extras

rpm 命令

  • 使用 rpm 安装 apache :rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
  • 更新 apache :rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
  • 卸载/删除 apache :rpm -ev httpd

shutdown 命令

  • 关闭系统并立即关机:shutdown -h now
  • 10 分钟后关机:shutdown -h +10
  • 重启:shutdown -r now
  • 重启期间强制进行系统检查:shutdown -Fr now

service 命令

  • service 命令用于运行 System V init 脚本,这些脚本一般位于 /etc/init.d 文件下,这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径。
  • 查看服务状态:service mysql status
  • 查看所有服务状态:service --status-all
  • 重启服务:service mysql restart

chmod 命令

  • chmod 用于改变文件和目录的权限。
  • 给指定文件的属主和属组所有权限(包括读、写、执行):chmod ug+rwx file.txt
  • 删除指定文件的属组的所有权限:chmod g-rwx file.txt
  • 修改目录的权限,以及递归修改目录下面所有文件和子目录的权限:chmod -R ug+rwx file.txt

网络相关

ifconfig 命令

  • ifconfig 用于查看和配置 Linux 系统的网络接口。
  • 查看所有网络接口及其状态:ifconfig -a
  • 使用 up 和 down 命令启动或停止某个接口:ifconfig eth0 upifconfig eth0 down

ping 命令

  • ping 一个远程主机,只发 5 个数据包:ping -c 5 gmail.com

curl 命令

如果我们使用 ping 测试某个地址是否能连接,那么 curl 测试用个 URL 是否可以访问。

? 写出一个 curl 命令,访问指定服务器 61.135.169.121 上的如下 URL :http://www.baidu.com/s?wd=test ,访问的超时时间是 20 秒

  • 输入命令 curl --connect-timeout 20 http://61.135.169.121/s?wd=test

wget 命令

  • 使用 wget 从网上下载软件、音乐、视频:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
  • 下载文件并以指定的文件名保存文件:wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

ftp 命令

  • ftp 命令和 sftp 命令的用法基本相似。

  • 连接 ftp 服务器并下载多个文件:

    $ ftp IP/hostname
    ftp> mget *.html
    
    123
    
  • 显示远程主机上文件列表:

    ftp> mls *.html -
    /ftptest/features.html
    /ftptest/index.html
    /ftptest/othertools.html
    /ftptest/samplereport.html
    /ftptest/usage.html
    

Shell脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,文本内容:

#!/bin/bash
echo "Hello World !"

注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。

执行:

[root@iZ8vb4g0dc50ct82sm8vi5Z acerola]# chmod +x ./test.sh
[root@iZ8vb4g0dc50ct82sm8vi5Z acerola]# ./test.sh
helloworld

mysql安装

只说重点,安装后需要给root用户开放远程连接权限

mysql> update user set host="%" where user="root"
mysql> flush privileges

tomcat安装

只说重点,环境配置,是/etc/profile文件

CATALINA_HOME=/usr/local/tomcat 
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export PATH JAVA_HOME CLASSPATH CATALINA_HOME

防火墙

  • 查看防火墙状态

    systemctl status firewalld
    
  • 开启防火墙并开机自启

    systemctl start firewalld
    systemctl enable firewalld
    
  • 开放端口

    #开放一个22端口
    firewall-cmd --zone=public --add-port=22/tcp --permanent
    #重载设置,使开放生效
    firewall-cmd --reload
    
  • 查询放行是否生效

    firewall-cmd --zone=public --query-port=22/tcp
    
  • 查看当前打开的所有端口

    firewall-cmd --zone=public --query-port=22/tcp
    
  • 限制端口

    firewall-cmd --zone=public --remove-port=22/tcp --permanent
    #重载设置
    firewall-cmd --reload
    
  • 批量开放或者限制

    #比如开启100-500之间的
    firewall-cmd --zone=public --add-port=100-500/tcp --permanent
    #重载设置
    firewall-cmd --reload
    #批量限制100-500
    firewall-cmd --zone=public --remove-port=100-500/tcp --permanent
    #重载配置
    firewall-cmd --reload
    
  • IP地址限制或解除

    #比如限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
    #重载配置
    firewall-cmd --reload
    #查看已经设置的配置
    firewall-cmd --zone=public --list-rich-rules
    #解除限制
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
    #重载配置
    firewall-cmd --reload
    
  • IP地址段限制

    #如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
    #操作基本同上
    

pv4" source address=“192.168.0.200” port protocol=“tcp” port=“80” accept"
#重载配置
firewall-cmd --reload


* IP地址段限制

```bash
#如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
#操作基本同上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acerola-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值