运维-Linux
2026/4/28 9:16:56 网站建设 项目流程

一、命令

ll

ls

ls -lt:按照日期排序

cd

pwd

mkdir -p

touch

cat

cp -r

mv

rm -rf *.txt

history

yum

yum -y [install | remove | search] 软件名称

systemctl

systemctl [start | stop | status | enable | disable] 服务名

hostnamectl set-hostname 主机名

date

curl

发送网络请求,格式:curl [选项] URL

选项

-X:制定请求方法(GET POST)curl -X GET http://192.168.0.104:8080/test
-I:仅获取响应头,不下载响应体 curl -I http://192.168.0.104:8080/test
-H:添加请求头 curl -H “head1:zs” -H “head2:ls” http://192.168.0.104:8080/test2
发送POST请求:curl -H “Content-Type:application/json” -d ‘{“username”:“zs”,“age”:“14”}’ -X POST http://192.168.0.104:8080/test2

top

实时性能监控命令,格式:top [选项]

选项

df TODO

查看硬盘的使用情况,格式:df [选项]

选项

-h:以人性化展示 df -h

du

查看某个文件夹下所有文件夹的磁盘使用情况,格式:du [选项]

选项

-h:以人性化展示 du -h
-hs:展示文件夹磁盘大小 du /dir -hs

netstat -anp | grep 3306

tar

tar.gz比tar体积更小
压缩成tar:tar -cvf a.tar a.log b
压缩成tar.gz:tar -zcvf a.tar.gz a.log b
tar解压:tar -xvf a.tar -C /dir
tar.gz解压:tar -zxvf a.tar.gz -C /dir

zip

zip压缩(-r表示对文件夹压缩):zip -r a.zip a.log bb
unzip解压:unzip a.zip -d /dir

ps -ef | grep java

ps -ef:列出全部进程

kill -9 进程ID

ping

ifconfig

hostname

find

find / -name ‘*.txt’
find / -size -100k
find / -size +100M
find / -size +100G

grep

文本搜索命令,格式:grep [选项] ‘搜索内容’ 文件
PS:可以将搜索内容保存到一个文件中:grep ‘搜索内容’ a.log >> d.log

选项

-i:忽略大小写(grep -i ‘搜索内容’ a.log)
-n:显示行号(grep -n ‘搜索内容’ a.log)
-c:输出匹配行数(grep -n ‘搜索内容’ a.log)
-l:是小写的L,不是大写的i。仅输出匹配到的文件名,不输出匹配到的行内容(grep -l ‘搜索内容’ *.log)
-C n:显示匹配行的前后各n行(grep -C 5 ‘搜索内容’ a.log)

正则

^:规定行开头(grep ‘^开头内容’ a.log)
:规定行结尾(grep′结尾内容:规定行结尾(grep '结尾内容:规定行结尾(grep结尾内容’ a.log)
[]:中括号内的内容任意匹配一个,不能同时多个(grep ‘A[Bb]C’ a.log),搜索ABC或者AbC。[0-9]代表任意数字,[a-zA-Z0-9_]代表匹配任意字母数字下划线。

wc

文本统计命令,格式:wc [选项] 文件

选项

-l:统计文件行数(wc -l a.log)

|

管道符的作用:左边的输出作为右边的输入。
ps -ef | grep java

echo

追加:echo “a” >> a.txt
覆盖:echo “a” > a.txt

tail -f

vim

/搜索内容
n调到下一个匹配的结果

二、权限

切换用户:su - 用户名
将命令临时以root权限执行:sudo mkdir a.log
需要给普通用户配置sudo认证:vim /etc/sudoers 最后一行加上:zhangsan ALL=(ALL) NOPASSWD: ALL
Linux可以为用户或者用户组配置权限。
创建用户组:groupadd 用户组名
删除用户组:groupdel 用户组名
创建用户张三指定用户组为group1:useradd -g group1 zhangsan
删除用户(-r同时删除用户的home目录):userdel [-r] 用户名
查看用户详情:id 用户名
为张三添加用户组group2:usermod -aG group2 zhangsan

1:文件/文件夹的权限信息
2:文件/文件夹所属用户
3:文件/文件夹所属用户组

修改文件/文件夹权限(只有root或所属用户可以修改):chmod [-R] 权限 文件/文件夹
-R:对文件夹内所有内容应用同样操作
对a.log文件的所属用户、所属用户组、其他用户设置可读可写可执行权限:chmod 777 a.log
修改文件、文件夹的所属用户和用户组(仅root可执行):chown [-R] [用户]:[用户组] 文件/文件夹
-R:对文件夹内的所有内容应用同样规则
修改a.log的所属用户为zhangsan:chown zhangsan a.log
修改a.log的所属用户组为group1:chown :group1 a.log
修改b.log的所属用户为zhangsan,所属用户组为group2:chown zhangsan:group2 b.log

shell

shell是用户与操作系统之间的命令解析器,用户输入命令,shell解析器解析命令,再调用操作系统去执行命令。

shell脚本是指存放一堆命令,这些命令都可以由shell解析器解析,并依次调用操作系统去执行。

common.sh

#! /bin/bashexportname=jrbexporthost=127.0.0.1exportport=3306exportusername=rootexportpassword=jrbjrb811exportdatabase=demo

a.txt

张三 18 男 李四 26 女

b.txt

张三;18;男 赵四;26;女

test.sh

#! /bin/bash# 引入外部shell脚本source./common.sh# 系统变量echo"脚本名称:$0"# 环境变量echo"主机名:$HOSTNAME"# 用户变量age=28# 重置用户变量unsetage# 设置只读用户变量,不可修改readonlysex=male# 睡眠5ssleep5# 键盘输入read-p"请输入:"p1 p2# if条件判断# -eq => 等于# -lt => 小于# -gt => 大于# -ne => 不等于# le => 小于等于# ge => 大于等于# -f => 判断文件是否存在# -d => 判断文件夹是否存在# -a => 且,都满足才执行# -o => 或,满足一个就执行num=2if[$num-eq1];thenecho"$num=1"elif[$num-eq2];thenecho"$num=2"elseecho"$num既不等于1也不等于2"fif=/a/a.txtif[-f$f];thenecho"文件$f存在"ficount=10if[$count-eq10-a!$count-eq5];thenecho"$count等于10且不等于5"fi# for循环for((i=0;i<10;i++))doecho$idoneforvina b c d edoecho$vdone# 函数与调用functionaddResult(){return"$[$1+$2]"}addResult1020echo"addResult结果:$?"# 日期today=$(date+"%Y-%m-%d %H:%M:%S")zt=$(date-d"-1 day"+"%Y-%m-%d")mt=$(date-d"+1 day"+"%H:%M:%S")# 读取文件内容,默认分隔符为空格cata.txt|whilereadname age sexdoecho"$name$age$sex"done# 读取文件内容,分隔符为;old_ifs="$IFS"IFS=";"catb.txt|whilereadname age sexdoecho"$name$age$sex"doneIFS=$old_ifs# 访问数据库# 查询demo库的demo_student表,-e 后面必须加""table_name=demo_studentquery_sql="select * from$table_name"mysql -h$host-P$port-u$username-p$password$database-e"$query_sql"# 插入数据insert_sql="insert into$table_name(id,name) values (3,'王五'),(4,'赵六')"mysql -h$host-P$port-u$username-p$password$database-e"$insert_sql"

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询