Linux常用命令
CentOS 7
更改主机名称
Hostnamectl set-hostname wjf
查看是否更改成功:
Hostname
安装net-tools,以便能够使用ifconfig
yum -y install net-tools
关闭防火墙
systemctl stop firewalld
start status enable disable
systemctl status network
systemctl start | stop | status | enable | disable 服务名
yum install -y ntp
可以通过ntpd服务名,配合systemctl进行控制
yum install -y httpd
安装apache服务器软件,可以通过httpd服务名,配合systemctl进行控制
安装下载程序
yum -y install wget
yum-y remove wget
卸载程序
ip addr查看网卡名称:
ip addr
ping 114.114.114.114
重启网络:
systemctl restart network.service
CD 切换工作目录
change directory
PWD 显示工作目录
print work directory
LS命令,查看文件
ls -alh -a列出隐藏文件或文件夹,-l 以列表的形式显示, -h 显示文件大小的单位。
. 表示当前目录 cd .
.. 表示上一级目录 cd ..
~ 表示home目录,比如: cd ~
创建文件夹
mkdir [-p] 路径 创建文件夹 -p自动创建不存在的父目录,多个层级。
mkdir ../test mkdir ~/test
mkdir -p test/goods/666
more支持翻页,按下空格翻页,按下q退出。
/etc/services 可以用more来查看。
复制文件
cp [-r] 路径 路径,-r选项,表示递归,用于复制文件夹。
移动文件
mv 路径 路径,如果目标不存在,则进行改名。
删除文件
rm [-r -f] 参数 参数 参数N
-r用于删除文件夹,-f表示强制删除,不弹出提示信息。
rm -r t1 t2 1.txt
rm支持通配符* rm test*
切换用户
su - root 切换为root用户,用exit命令,能够退出普通用户,或按下ctrl+d
rm -rf / 这个命令很危险,会彻底搞没系统。
rm -rf /* 这个命令很危险,会彻底搞没系统。
rm --help
which命令
which cd
find命令
find 起始路径 -name "被查找的文件名"
find / -name "test".
find 起始路径 -size +-n [KMG]
- -表示大于和小于
n表示大小数字
kMG表示大小单位,k表示kb,M表示MB,G表示GB
find / -size -10k 查找小于10k的文件
find / -size +100M 查找大于100M的文件
find / -size +1G 查找大于1G的文件
grep过滤文本命令
grep [-n] 关键字 文件路径
-n 显示行号
例如:grep -n "wjf" 1.txt
wc命令,统计
wc命令,统计文件的行数,单词数量
wc [-c -m -l -w] 文件路径
-c 统计bytes数量,-m统计字符数量,-l 统计行数,-w 统计单词数量
wc 1.txt 默认显示行数、单词数、bytes数或字符数量。
管道符号 |
cat 1.txt | wc -l 统计行数
ls -l /usr/bin | wc -l
cat 1.txt | grep wjf | grep study
echo命令
echo命令,在命令行内输出指定的内容
echo 输出的内容
复杂的内容,用""包围即可。
反引号
echo `pwd`
返回pwd命令执行的结果
对比 echo pwd 的结果来体验。
重定向符号
> 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>> 将左侧命令的结果,追加写入到符号右侧指定的文件中
echo "tail is" > 1.txt
echo "tail is" >> 1.txt
tail命令,查看最后
tail [-f -num] 路径
-f 表示持续跟踪
-num 表示查看尾部多少行,不填写,默认就是10行。
tail -f 1.txt 和 echo "tail is" >> 1.txt 在两个窗口组合使用,来体验-f的用途。
强制停止命令的执行
ctrl+c强制停止命令的执行。
上箭头,查找前面执行过的命令。
vi编辑器
i 当前光标位置进入输入模式
a 当前光标位置 之后 进入输入模式
I 当前行的开头 进入输入模式
A 当前行的结尾 进入输入模式
o 当前光标下一行 进入输入模式
O 当前光标上一行 进入输入模式
ESC 回到命令模式
命令模式下:
dd 删除光标所在行的内容
ndd n是数字,表示删除当前光标向下n行
yy 复制当前行
nyy n是数字,复制当前行和下面的n行
p 粘贴
u 撤消修改
ctrl+r 反向撤消修改
gg 跳到首行
G 跳到行尾
dG 从当前行开始,向下全部删除
dgg 从当前行开始,向上全部删除
d$ 从当前光标开始,删除到本行的结尾
d0 从当前光标开始,删除到本行的开头
chmod权限修改命令
chmod [-R] 权限 文件或文件夹
-R 对文件夹内的全部内容应用同样的规则
权限的数字序号
r代表4,w代表2,x代表1
7代表rwx,5代表r-x,3代表-wx
chmod -R 755 test
chown文件所属用户权限修改
chown [-R] [用户]:[用户组] 文件或文件夹
-R 对文件夹内的全部内容应用同样的规则
用户,修改所属用户
用户组,修改所属用户组
:用于分隔用户和用户组。
chown -R root:root test
ctrl+c强制停止正在执行的命令
ctrl+d 退出登录,退出正在使用的用户
例如:python
history命令,查看历史输入过的命令
history | grep ch
ctrl+r
!p 搜索最近一次p开头的命令
命令行的光标移动
ctrl+a 跳到命令的开头
ctrl+e 跳到命令的结尾
ctrl+左箭头 向左跳一个单词
ctrl+右箭头 向右跳一个单词
ctrl+L 清空终端内容
或用clear命令
yum安装软件
yum [-y] [install | remove | search] 软件名称
-y 自动确认,无需手动确认安装或卸载过程
yum install -y ntp
yum install -y httpd
软链接
ln -s 参数1 参数2
参数1:被链接的文件或文件夹
参数2:要链接去的文件或文件夹
ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum
日期:
date [-d] [+格式化字符串]
%Y 年
%y 年份后两位数字
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 自1970-01-01 00:00:00到现在的秒数。
date +%Y-%m-%d
date +"%Y-%m-%d %H:%M:%S" 注意中间有空格,要加""
注意:+号要在""前面。
或
date +'%Y-%m-%d %H:%M:%S'
date +%H:%M:%S
-d选项,可以按照给定的字符串显示日期,一般用于日期计算
date -d '+1 day'
date -d '+1 month'
date -d '+1 year'
date -d '+1 hour'
date -d '+1 minute'
date -d '+1 second'
date -d '-1 day'
注意:只能使用单引号
修改时区:
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装时间校准工具:
yum install -y ntp
ntp自动校准系统时间
开机自启动
systemctl start ntpd
systemctl enable ntpd
手动校准:
ntpdate -u ntp.aliyun.com
ping命令
ping [-c num] ip或主机名
-c 检查的次数,不使用将无限次数持续检查
ping baidu.com
ping www.baidu.com
ping 8.8.8.8
下载命令
wget [-b] url
-b是后台下载,会将日志写入到当前工作目录的wget-log文件
url是下载链接
curl发起网络请求
curl -O url
-O 用于下载文件
curl cip.cc
端口
公认端口:1-1023 系统内置或常用知名软件使用
注册端口:1024-49151 用于松散绑定使用,自定义
动态端口:49152-65535 用于临时使用,多用于出口
查看进程:
ps [-e -f]
-e 显示出全部的进程
-f 以完全格式化的形式展示信息
ps -ef 列出全部进行的全部信息
UID哪个用户启动的?PID进程号,PPID父进程号,TTY 表示终端序号
ps -ef | grep tail
关闭进程
kill [-9] 进程ID
-9 表示强制关闭进程,不使用此选项,就会向进程发送信号,要求其关闭,但是是否关闭,看进程自身的处理机制。
kill 进程ID ,Terminated
kill -9 进程ID,killed
top命令查看CPU、内存的使用情况
通过top命令查看CPU、内存的使用情况,每5秒刷新一次
按q 或 ctrl+c 退出。
top命令的选项
-p 只显示某个进程的信息,例如:
top -p 1
-d 设置刷新时间,默认是5秒
-c 显示产生进程的完整命令,默认是进程名
-n 指定刷新次数,top -n 3 刷新输出3次后退出
top -d 1 -n 3
-b 以非交互非全屏模式运行
top -b -n 3 > 1.txt
more 1.txt
-i 不显示任何闲置(idle)或无用(zombie)的进程
-u 查找指定用户启动的进程
top -u root
h 按下h键,会显示帮助画面
c 产生进程的完整命令
f 选择需要展示的项目 ++++按下空格来选定,展示在最右边这一列++++。
M 根据驻留内存大小(RES)排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间排序
E 切换顶部内存显示单位
e 切换进程内存显示单位
l 切换显示平均负载和启动时间信息
L 查找字符串
i 不显示闲置或无用的进程
t 切换显示CPU状态信息
m 切换显示内存信息
磁盘信息监控
df [-h]
-h以更加从性化的单位显示
查看CPU、磁盘的相关信息
iostat [-x] [num1] [num2]
-x 显示更多信息
num1:数字,刷新间隔
num2:数字,刷新几次
该命令应该先安装yum install sysstat
iostat -d sda 只显示关于 sda 设备的统计信息。
网络状态监控
sar -n DEV num1 num2
-n查看网络
DEV查看网络接口
num1 刷新间隔,不填写就查看一次结束
num2 查看次数,不写就无限次数
sar -n DEV 1 3
环境变量
env 查看
PATH
env | grep PATH
echo $PATH
echo $PATH > 3.txt
echo $PWD
echo ${PWD}abc {}确保取环境变量
临时设置环境变量
export 变量名=变量值
永久生效环境变量:
只针对当前用户:
~/.bashrc
针对所有用户:
/etc/profile
source /etc/profile 使变量生效
mkdir myenv
vi haha 文件内输入 echo 'haha'
chmod 755 haha
有了x权限,之后输入
./haha 就能够执行该文件,一定要有: ./
export PATH=$PATH:/root/myenv
source /etc/profile
echo $PATH
haha 即可执行该文件
用命令进行文件的上传和下载
安装程序:
yum -y install lrzsz
rz上传
sz 文件名 下载
压缩和解压
tar格式,压缩率低
gzip格式,压缩高
tar压缩和解压
tar [-z -x -v -c -f -C] 参数...
-c创建压缩文件
-v查看压缩或解压过程
-x 解压
-f 指定压缩/解压的文件,必须最后一个位置
-z gzip模式,一般位置第一个位置
-C 指定解压的路径
tar -cvf test.tar 1.txt 2.txt 3.txt
tar -zcvf test.tar 1.txt 2.txt 3.txt
tar -xvf test.tar 解压到当前目录
以gzip模式解压到指定目录
tar -zxvf test.tar -C /home/wjf
zip压缩和解压
zip命令
zip [-r] 参数...
-r 压缩文件夹使用r
zip test.zip a.txt b.txt
zip -r test.zip test c.txt
yum -y install zip
yum -y install unzip
unzip [-d] 参数
-d 指定解压的目录
unzip test.zip
unzip test.zip -d /home/wjf