Linux常用命令

1.Rocky Linux 9安装

rockylinux.org Rocky Linux 9 Minimal ISO

 

2 配置主机名

2.1 修改主机名称

# 查看主机名

hostname

 

vim /ect/hostname  

修改里面的值

# 需要重启服务器

 

# 查看主机相关信息

hostnamectl

# 修改主机名为111

hostnamectl set-hostname111

# 不需要重启服务器

 

2.2 修改hosts映射文件

1)修改linux的主机映射文件(hosts文件)

vim /etc/hosts

根据localhost的例子进行配置,左边是ip地址,右边是主机名称

 

客户端Windows修改hosts文件

C:\Windows\System32\drivers\etc\hosts

 

3 Linux中的进程和服务

计算机中,一个正在执行的程序或命令,被叫做"进程"process

启动之后一直存在、常驻内存的进程,一般被称做服务service

 

6.1 service 服务管理 (CentOS 6 版本,了解就行不用记

ls /usr/sbin/ | grep service

1) 基本语法

​ service 服务名(network) start | stop | restart | status

2)经验技巧

查看服务的方法:ls /etc/init.d/

 

7 systemctl CentOS 7 版本-重点掌握

1) 基本语法

 

​systemctl start | stop | restart | status 服务名(firewalld)

 

2) 经验技巧

查看服务的方法:ls - /usr/lib/systemd/system

 

例子(关闭网络)

1. systemctl stop NetworkManager(区分大小写)

  1. ip addr flush dev eth0   # 清除IP(把eth0换成你的网卡名)

(ip addr show, 网卡名通常是:ens33ens160eth0enp0s3

打开网络

 

查看所有已加载的服务

systemctl list-units --type=service

systemctl stop 服务名只是临时关闭,重启后会恢复原样;而 systemctl disable 服务名才是永久禁用。

 

查看当前运行级别:

systemctl get-default

修改当前运行级别:

system set-default TARGET.target (这里的TARGETmulti-user 或者graphical)

另一种方式: init3 , init5

这部分了解即可,在企业级服务器环境中,"运行级别"(或 systemd 下的 "target")一旦设定,几乎永远不会被手动更改

 

服务管理:启动/停止/重启服务,systemctl start/stop/restart <服务名>

 

shutdown(多种参数)

shutdown(默认1分钟后关机)

shutdown -c

shutdown now

 

关机前要做sync操作,把缓冲区里的数据立刻写入硬盘

 

8.Shell常用命令

Pwd(print working directory 打印工作目录): 显示当前绝对路径

 

ls: list 列出目录内容

ls - a(全部的文件,连同隐藏文档(开头为.的文件) 一起)

ls - l(长数据串列出,包含文件的属性与权限等等数据(常用)等价于“ll)

 

cd 切换目录(Change Directory)

cd ~ cd 回到自己的家目录

cd - 回到上一次所在目录(应用场景:如果两个文件夹路径差很远,可以反复横跳)

cd.. 回到当前目录的上一级目录

 

创建删除目录

mkdir创建一个新的目录

mkdir a

 

# 一次创建多级

mkdir -p a/b/c

 

# 删除目录

rmdir a

 

# 删除多级目录

rmdir a/b/c  (只删除c目录)

rm -rf a/b/c  (递归目录全删,命令是rm,不是rmdir)

 

创建文件

touch 文件名称 (创建空文件)

 

复制

cp复制文件或目录

cp [选项] source dest 

例子: cp file1 /home/haojie/    

cp testfile01 ../file1

(cp后面参数1是源文件,参数2是路径,如果参数2最后的文件名和参数1最后的文件名一样,就是覆盖操作)

 

# 递归复制整个文件夹

cp -r c /home/haojie/桌面

 

# 强制删除当前目录下所有的文件夹和文件

rm -rf ./*

 

# mv 剪切

#建立一个多级目录

[haojie@server01 ~]$ mkdir project project/src project/src/lib 

#将这个多级目录移动到/tmp目录下

[haojie@server01 ~]$ sudo mv project /tmp/

 

cat 查看文件内容

cat [选项] 要查看的文件

 

cat -n 文件名 显示所有行的行号,包括空行

 

more 文件内容分屏查看器

​ more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,more指令中内置若干快捷键

 

操作 功能说

空白键(space 代表向下翻一页

Enter 代表向下翻一行

q 立刻离开 more

ctrl + F 向下滚动一屏

ctrl + B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行行号

 

less 分屏显示文件内容 (查看大文件)

分屏查看文件内容,功能与more指令类似,但是比more指令更强大,支持各种显示终端。less指令在显示文件内容时,不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

 

less 文件名

 

操作 功能说明

g 跳到开头

G 跳到结尾

空白键 向下翻动一页

pagedown 向下翻动一页

pageup 向上翻动一页

Enter 翻动一行

/字符串 向下搜寻【字符串】的功能:n:向下查找 N:向上查找

?字符串 向上搜寻【字符串】的功能:n 向上查找 N 向下查找

q 离开less这个程序

 

Echo: 类似C#Console.WriteLine();

echo "wlm      sldg"

echo -e  "wlm\n sldg" (-e表示支持后面参数里面的内容转义)

 

>>(追加)>(覆盖)

echo "333333我会好好过" >>15页的小说.txt

日常工作典型频率排序

操作 频率 典型场景

>> 追加 ★★★★★ 持续记录日志、收集结果、合并文件

| 管道 ★★★★★ 组合命令,不直接写文件

> 覆盖 ★★★☆☆ 生成报告、初始化配置文件、清空文件

2> 重定向错误 ★★★☆☆ 只收集错误信息,忽略正常输出

&> 全重定向 ★★☆☆☆ 把正常和错误都扔进文件(或 /dev/null

 

tailhead

head用于显示文件的开头部门内容,默认情况下 head指令显示文件的前10行内容。

 

1)基本语法

 

​ head 文件名 查看文件头10行内容

​ head -n 5 文件 查看文件头5行内容

[haojie@server01 ~]$ head -n 2 data.txt

 

8.2.15 tail 输出文件尾部

tail -n 5 文件名

 

tail -f 文件

 

Ctrl + S 可以暂停监听

 

Ctrl + Q 可以继续监听

 

使用频率对比

命令 频率 典型场景

tail -f ★★★★★ 实时追踪日志(最常用)

tail -n ★★★★★ 看最新几条日志、检查命令输出末尾

head -n ★★★★☆ 看文件格式、表头、前几行样本

tail -f | grep ★★★★☆ 实时过滤关键日志

结论:tail head 更常用,因为排查问题总是关心"最新发生了什么"

 

ln 软连接

软连接(link)也称为符号链接,类似于windows里的快捷方式,主要存放了目标文件的路径字符串

 

创建软连接

 

[root@lys logs]# ln -s [源路径] Name

[root@lys logs]# ln -s web.log web

 

[root@lys logs]# ll

-rw-r--r-- 1 root root  115498 May 13 11:04 gateway.log

lrwxrwxrwx 1 root root       7 May 16 00:36 web -> web.log # 软连接的前缀为l

-rw-r--r-- 1 root root 8048944 May 16 00:36 web.log

 

直接进入软连接对应的地址

cd -P 软连接

 

删除软连接: rm -rf 软连接名,而不是rm -rf 软连接名/,否则会把软链接对应的真实目录下的内容删除

它是一个存放着地址的文件

 

history 查看已经执行过历史命令

# 查看历史命令

history

# 情况历史命令

history -c

 

Date 日期

date +%Y%m%d%H%M%S (date后面需要+)

 

用户管理

(1) 查看当前有哪些用户

root账号的目录就是 /root

普通用户的目录是 /home/XXX, 所以看有哪些普通用户,可以用下面的方式

[root@server01 /]# cd /home

[root@server01 home]# ls

标准查询方法

[root@server01 ~]# cat /etc/passwd

(2)创建新用户

[root@server01 /]# useradd xiaojia

(3)用户设置密码

[root@server01 home]# passwd xiaojia

(4)查看当前用户是否存在

[root@server01 ~]# id xiaojia

(5)切换用户

[root@server01 ~]# su haojie

(6) sudo给普通用户root权限

ls /etc/ | grep sudo

cd /etc/

vim sudoers

添加一行:haojie ALL=(ALL) ALL

 

用户组管理

每创建一个新用户,系统都会自动创建一个与其同名的组

Wheel: 类似管理员组

groupmod -n mengbao xiaojia (将组名xiaojia改成mengbao)

 

find 查找文件或目录

find 指令将从指定目录向下递归地遍历其各个子目录

 

find [搜索范围] [选项]

选项 功能

-name 查询方式 按照指定文件名查找模式查找文件

-user 用户名 查找属于指定用户名所有文件

-size 文件大小 按照指定文件大小查找文件,单位为 b-块 (512字节) c- 字节 w-2字节 k - 千字节 M -兆字节 G-吉字节

 

# 按名称查找

find -name nginx.conf

 

# 按路径加名称查找

find /root -name nginx.conf

 

# 按照后缀查找

# "*"匹配多个字段,"?"匹配单个字符

find -name "*.txt"

 

# 按用户查找

find -user lys

 

# 按大小查找 +大于 -小于

find -size +1M

find -size - 1M

 

 

locate 快速定位文件路径

local指令利用事先建立的系统中所有文件名称及路径的locate数据库事先快速定位给定的文件,无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate数据库

 

locate 搜索文件

 

由于locate指令基于数据库进行查询,所以第一运行前,必须使用updatedb指令创建locate数据库

 

updatedb

locate nginx.conf

 

# 查看Linux里的命令所在位置

which ls locate

whereis locate

 

grep过滤查找及"|"管道符

管道符,|,表示将前一个命令的处理结果输出传递给后面的命令处理

 

grep 选项 查找内容 源文件

 

-n 显示匹配行及行号

 

# 显示locationnginx.conf的哪几行

grep -n location nginx.conf

# 查找某文件在该目录的第一个

ls | grep -n test

 

# 这种写法会启动两个进程

[haojie@server01 ~]$ cat data.txt | grep -i apple

# 这种写法只启动一个进程

[haojie@server01 ~]$ grep -i apple data.txt

 

wc nginx.conf

136  302 3022 nginx.conf

行数  单词数量 字节数# 查看Linux里的命令所在位置

 

 

9.进程与后台任务

1.运行一个会持续输出的命令(例如 ping baidu.com),使用 Ctrl+Z 暂停它。

2.使用 jobs 查看后台任务。

可以看到任务编号 [1],状态为 Stopped

  1. 使用 bg 命令让它在后台继续运行。

[haojie@server01 ~]$ bg %1

4.使用 kill 命令(配合作业号或PID)结束它。

 

直接后台       command &        1      日常使用首选

前台转后台      运行 → Ctrl+Z → bg   3      已经忘记加 & 了,补救用

后台转前台暂停       fg %作业号  → Ctrl+Z         2   

日常使用中,杀死进程, 90% 的情况用 Ctrl+C 就够了

 

 

 

posted @ 2026-04-24 00:06  番茄蛋汤  阅读(29)  评论(0)    收藏  举报