Linux 常用命令大全

Linux目录说明

 

bin -> usr/bin 这个目录存放最经常使用的命令

boot 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

dev 设备Device的缩写, 该目录下存放Linux的外部设备,Linux中的设备也是以文件的形式存在

etc 这个目录存放所有的系统管理所需要的配置文件

home 用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名以用户的账号命名

lib -> usr/lib 该目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。

lib64 -> usr/lib64 64位的系统动态连接共享库

media Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下

mnt 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容

opt 该目录是给linux额外安装软件所存放的目录,比如安装一个Oracle数据库则就可以放到这个目录下,默认为空。(装软件:/usr/local、/opt、/srv)

proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

root 该目录为系统管理员目录,root是具有超级权限的用户,是linux默认自带的用户

run 程序或服务启动后,运行的PID存放在该目录下

sbin -> usr/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

srv 该目录存放一些服务启动之后需要提取的数据。

sys 内核中的文件系统 sysfs 。

tmp 这个目录是用来存放一些临时文件的。

usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的Program Files目录。

var 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件;

磁盘管理

cd 切换目录

ll、ls、ll -a、ls -a 列出当前目录下目录及文件

dir 列出当前目录下的目录及文件

mkdir:创建目录/文件夹

df、df -h 查看系统磁盘空间使用情况

du、du -sh 查看文件和目录的磁盘空间使用情况

pwd 显示当前目录

文件管理

mv 文件(夹)重命名或者将文件(夹)移动到指定目录

rm、rm -rf 删除文件或目录

touch 创建空文件或将文件的最后修改时间改为当前时间

cat 将整个文件内容输出到控制台

more 逐屏输出(按空白键space就往下一页)

less 逐屏输出(按PgUp、PgDn上下翻页),到结束的时候退出按 q

head 显示头10行

tail 显示末尾10行

cp、cp -rf 文件复制或目录

find 查找文件,比如:find ./ -name ,find ./ -mtime +5 查找5天前修改过的文件

whereis 查找文件,主要用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),如果省略参数,则返回所有信息。

which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,比如which mkdir

系统设置

date 显示或设置系统日期和时间, date -s string

shutdown –h now 关机

reboot 重启

echo $LANG 显示当前语言环境

locale 查看是否有中文语言包,如有zh cn表示已经安装了中文语言包

ps -ef、ps -aux 查看系统进程

kill pid 杀掉进程

kill -9 pid 强制杀掉进程

su 切换用户

top 系统运行负载情况,结果解读:https://dwz.cn/DFYqnOGo 

uptime 系统运行负载情况

free、free -m、free -h显示内存的使用情况

uname 查看系统信息

/etc/centos-release 查看当前centos版本是几

who 显示当前已登录的用户信息

whoami 当前登录的是谁

clear 清除屏幕,实际上内容并没有清除,是移到最上面;

crontab

Linux下的定时任务

crontab使用

*/1 * * * *  echo "hello world" >> /opt/crontab.log

*/10 * * * *  sh /etc/update.sh

时间字段说明:

minute hour day month week   command

编辑创建crontab: crontab -e

查看crontab:crontab -l

删除crontab:crontab -r

> 重定向覆盖输出,比如 > abc.txt

>> 重定向输出追加,比如 >>abc.txt

| 这个竖线表示管道符号,用于把管道左边的输出作为右边的输入

用户管理

useradd 添加用户

userdel 删除用户,userdel -r jackson

passwd 修改用户密码,修改当前登录用户密码passwd
passwd jackson 修改指定用户jackson密码

文件权限

文件类型和权限

-rw-rw-rw  -表示文件

drw-rw-rw  d表示目录文件夹

srw-rw-rw  s表示socket套接字文件

brw-rw-rw  Block device块设备

crw-rw-rw  Character Device字符设备

r--read 读权限 4

w--write 写权限 2

x--execute 执行权限 1

rwx=7

常见644、755、777三种权限

修改文件的读写执行权限

chmod 640 aa.log

修改文件所属用户

chown centos aa.log

修改文件所属组

chgrp centos aa.log

查看用户所在组

groups

文档处理

grep 文本搜索

sort

排序,cat aa.log |  sort

uniq

去除相邻重复的行,cat aa.log |  sort | uniq

wc

cat aa.log | wc 依次输出 行数、单词数、字符数

网络通讯

ifconfig (min版没有,需要安装,后续我们会安装)

查看系统IP

netstat (min版没有,需要安装,后续我们会安装)

查看网络端口,netstat -nlp

ping

测试某个地址是否可以连通

备份压缩

tar

解压:

tar -zxvf xxx.tar.gz

tar -xvf xxx.tar

压缩:

tar -zcvf xxx.tar.gz ./aa/*

tar -zcvf xxx.tar ./aa/*

zip

压缩为zip格式,zip aa.zip aa.log

unzip

解压zip格式的压缩包,unzip aa.zip

curl

抓取网络文件内容,比如网页

wget (min版没有,需要安装,后续我们会安装

网络下载

yes、y

对linux命令执行后的接受、肯定、是、确认

如果不接受、不确认、否定 就输入 no 或者 n

常用快捷键

Tab 命令自动补齐 或 显示可选项

Ctrl+c 终止当前进程

Ctrl+d 关闭终端

Ctrl + z

日志打印输出、日志内容查找

grep -A 100 'Exception' catalina.out 匹配关键词的后面100行 after

grep -B 100 'Exception' catalina.out 匹配关键词的前面100行 befer

grep -C 100 'Exception' catalina.out 匹配关键词的上下100行 center

cat catalina.out | grep -C 100 'Exception'

cat catalina.out | grep -A 100 'Exception'

cat catalina.out | grep -B 100 'Exception'

tail -f catalina.out实时查看日志文件

tail -100f catalina.out实时查看日志文件末尾一百行

tail -f -n 100 catalina.out 实时查看日志末尾100行

 

文件权限

文件类型和权限

-rw-rw-rw  -表示文件

drw-rw-rw  d表示目录文件夹

srw-rw-rw  s表示socket套接字文件

brw-rw-rw  Block device块设备

crw-rw-rw  Character Device字符设备

r--read 读权限 4

w--write 写权限 2

x--execute 执行权限 1

rwx=7

常见644、755、777三种权限

前三个为属主位:创建该文件者或被指定的文件所属者;

中间三个为属组位:文件的所属组,在该组内的非属主用户对该文件拥有该属组权限;

最后三个Other位:other用户,既不属于属主又不在属组的用户;

文件中rwx的具体含义:

r:可以使用类似cat等命令查看文件内容

w:可以编辑或删除此文件

x:可以在命令提示符下当做命令提交给内核运行

目录中rwx的具体含义:

r:可以对此目录执行ls以列出内部的所有文件;

w:可以在此目录创建文件;

x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;

修改文件的读写执行权限

chmod 640 aa.log

-R 递归,将设置的权限应用到下面的所有文件,如:chmod -R 755 /opt/app

修改文件所属用户

chown centos aa.log

-R 递归修改文件及其下的子文件的所属用户

chown -R centos /opt/webapp

修改文件所属组

chgrp centos aa.log

-R 递归修改文件及其下的子文件的所属组

chgrp -R centos /opt/webapp

一次性修改属主和属组

chown [OWNER]:[GROUP]] FILE

chown centos:centos  aa.log

chown -R centos:centos /opt/app

查看用户所在组

groups

 

rpm常用命令

安装rpm包的软件:rpm -ivh  jdk1.8.201.rpm

查看是否安装了某个rpm包:rpm -qa | grep xxx

删除某个rpm安装包:rpm -e  python-libs-2.7.5-86.el7.x86_64

-i:安装应用程序(install)
-e:卸载应用程序(erase)
-vh:显示安装进度;(verbose hash)
-U:升级软件包;(update)
-qa: 显示所有已安装软件包(query all)

Rpm安装软件,安装后的文件到处都有,散落一地,不好归档;

yum常用命令

有些软件没有rpm包

查找软件包命令:yum search <keyword>

安装指定的软件命令:yum install <package_name>

比如

telnet

需要安装 yum install telnet -y

telnet 119.75.216.20 80

删除软件包命令:yum remove <package_name>

列出所有已安装的软件包命令:yum list installed、
yum list installed | grep python

清理yum安装已下载的包命令:

yum clean all (yum install 后的rpm包存放在/var/cache/yum/下)

网络通讯

ip addr 查看ip(不需要安装rpm包,本身linux默认就有)

ifconfig (min版没有,安装 yum install net-tools)

查看系统IP

netstat (min版没有,安装yum install net-tools)

查看网络端口netstat -nlp

备份压缩

tar

解压: (可以通过-C执行把文件解压到哪里去)

tar -zxvf xxx.tar.gz

tar -zxvf xxx.tar.gz -C /usr/local

tar -xvf xxx.tar

压缩:

tar -zcvf xxx.tar.gz  ./aa/*

tar -cvf xxx.tar  ./aa/*

Windows里面:rar zip

压缩文件,tar  tar.gz  tar.bz2  tar.xz他们依次压缩得越厉害,压缩速度当然就越来越慢;

解压都可以使用:tar -xvf  

压缩:

-zcvf  file.tar.gz  filenameOrDir  这个压缩成tar.gz格式

-jcvf  压缩成tar.bz2格式  (min版需要安装:yum install bzip2 -y

-Jcvf  压缩成tar.xz格式

记住他们是z j J

设置字符集

export LANG="zh_CN.UTF-8"    # 设置为中文

export LANG="en_US.UTF-8"    # 设置为英文

临时修改:export LANG="zh_CN.UTF-8"

永久修改是写入/etc/profile配置文件:

vim /etc/profile

source /etc/profile  --让修改配置生效

查看当前的字符集:

echo $LANG

Locale

文件同步、复制

rsync:  command not found

Min版没有,需要安装,执行命令 yum install rsync -y

本地同步:rsync abc.txt /root/soft/

Usage: rsync [OPTION]... SRC [SRC]... DEST

  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

  or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST

  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]

  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]

  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

把本地文件同步到远程:

rsync abc.txt  root@192.168.153.129:/root/soft

同步中途需要输入远程机器密码

scp传输文件

Linux scp 命令用于 Linux 之间复制文件和目录;

从本地复制到远程

scp abc.txt root@192.168.153.129:/root/soft 

scp -r /root/app root@192.168.153.129:/root/soft 

从远程复制到本地

scp root@192.168.153.129:/root/cat.txt /root/

scp -r root@192.168.153.129:/root/soft/ /root/soft/

-r 递归迭代复制

wget 文件下载(min版没有,需安装 yum install wget -y)

zip  (min版没有,需安装yum install zip  -y)

unzip  (min版没有,需安装yum install unzip -y)

文件上传下载

需要安装lrzsz, yum install lrzsz -y

history命令,用户的操作命令历史

vi & vim编辑器

vi是linux下标配的一个纯字符界面的文本编辑器,由于不是图形界面,相关的操作都要通过键盘输入命令来完成,需要记住一些常用的操作命令

vim是vi的升级版本,完全兼容vi,vim也可以完全当成vi使用,vim是在vi的基础上增加一些功能,比如语法着色等

启动 vi

Min版没有vim, yum install vim -y

vi filename

vim filename

如果参数中的filename文件存在,则打开该文件,如果参数中的文件不存在,则会新建该文件(不是立即创建,而是在保存的时候创建)

vi / vim操作模式

命令模式

Esc键,进入命令模式,命令模式下无法编辑

编辑模式

按 a 或者 i 字母键,进入编辑模式(此时,底部会出现insert)

在命令模式下,按 :wq 保存退出,按 :q! 不保存退出

vi常用快捷键 (在命令模式下执行)

dd:删除光标所在行

yy:复制光标所在行到缓冲区

p:粘贴缓冲区中的内容

gg:光标回到文件第一行

GG:光标回到文件最后一行

^ :光标移动至当前行的行首

$ :光标移动至当前行的行尾

/关键字:按斜杠/键,可以输入想搜索的字符,然后确定进行搜索,如果第一次查找的关键字不是想要的,可以一直按n键往后查找到想要的关键字为止;

防火墙操作命令(centos7)

查看防火墙状态:systemctl status firewalld

让防火墙可用:systemctl anable firewalld

让防火墙不可用:systemctl disable firewalld

启动防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

在实际公司里面不要这么做,我们自己测试为了方便可以直接关闭;

防火墙开放端口命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 添加多个端口
firewall-cmd --zone=public --add-port=8080-8088/tcp --permanent

查看已被激活的 Zone 信息

firewall-cmd --get-active-zones

重新加载防火墙配置:firewall-cmd --reload

重启防火墙:systemctl restart firewalld

命令含义:

--zone #作用域:查看当前的区域:firewall-cmd --get-default-zone

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

取消删除端口开放:

firewall-cmd --permanent --zone=public --remove-port=3306/tcp

查询端口号8080 是否开启:

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

查询有哪些端口是开启的:

firewall-cmd --list-port

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wL魔法师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值