Linux常用命令

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

相关推荐
真真-真真2 分钟前
WebXR
linux·运维·服务器
轩辰~25 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
雨中rain1 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
Bessssss2 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish2 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个2 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&2 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱2 小时前
【linux】NFS实验
linux·服务器
Ven%2 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
是阿建吖!2 小时前
【Linux】基础IO(磁盘文件)
linux·服务器·数据库