共计 13382 个字符,预计需要花费 34 分钟才能阅读完成。
摘要:Linux 常用命令,很适宜你的。
一提到操作系统,咱们首先想到的就是 windows 和 Linux。Windows 以直观的可视化的形式操作,特地适宜在桌面端 PC 上操作执行相应的软件。相比拟 Windows 来说,Linux 的很多管控都须要用命令来操作。
Linux 命令行形式的操作,特地是在服务器端编程、治理、运维方面,都十分的简略、短小、精悍。短短一行组合命令,即可实现在 Windows 须要各种加工、整合的简单高效的性能操作。不信,上面全都是。
启动网络命令
ip addr 查看网卡信息
service network start 启动网卡
service network stop 敞开网卡
service network restart 重启网络
pwd 命令
pwd 命令,查看当前目录的门路
linux 下所有的绝对路径都是从根目录 ”/” 开始
/root: 是 linux 下 root 用户的根目录
/home: 是 linux 下其余用户的默认根目录(例如:在 linux 上创立了一个 bow 用户,那么就会在 /home 上面生成一个 bow 目录作为 bow 用户的根目录)
/etc: 是 linux 下系统配置文件目录
/tmp: 长期文件目录,所有用户都能够用
ls 命令
ls [参数] 目录门路
ls 示意查看目录下的文件
ls #示意查看当前目录下的文件
ls -l #示意查看当前目录下的详细信息
ls -a #示意查看当前目录下的所有文件(蕴含暗藏文件)
ls -la #示意查看当前目录下的所有文件(蕴含暗藏文件)的详细信息
ls -lh #h 是以适当的单位来显示文件的大小 ls -lh 示意查看当前目录下的文件的详细信息,并以适合单位显示文件大小
ls -l / #示意查看根目录 "/" 下文件的详细信息
ls /etc #示意查看目录 /etc 下的文件
ls --help #查看命令的帮忙文档
--help 参数:所有 linux 上的命令都有,但写法上有如下几种:(1)--help
(2)--h
(3)-help
(4)-h
ll 命令: 它和 ls - l 命令性能雷同,然而不是所有的 linux 上都默认装置
cd 命令
cd 目录门路 #进入一个目录,目录门路能够是绝对路径 (以 / 开始的门路都是绝对路径),也能够是相对路径
相对路径:以非 / 开始的门路,
留神: “.” 示意当前目录
“…” 示意当前目录的上一级目录,它能够多个一起应用
“~” 示意以后用户的根目录 例如:root 用户时,~ 示意 /root 目录 bow 用户时,~ 示意 /home/bow 目录
cd / #示意进入零碎根目录
cd usr/ #示意进入当前目录下的 usr 目录
cd local/ #示意进入当前目录下的 local 目录
cd ./bin #示意进入当前目录下的 bin 目录
cd .. #示意进入当前目录的上一级目录
cd ../.. #示意进入当前目录的下级目录的上一级目录
cd /usr/local/bin #进入 /usr/local/bin 目录
cd ../etc #示意进入和当前目录同级的 etc 目录 #.. 示意当前目录的上一级目录 ../etc 示意当前目录下级目录下的 etc 目录(和当前目录同级)cd ~ #示意进入以后用户的根目录(cd ~ 和间接执行 cd 后不加目录的成果雷同)#例如:root 用户进入 /root 目录,bow 用户进入 /home/bow 目录
cd ~/data #示意进入以后用户根目录下的 data 目录 例如:root 用户则进入了 /root/data 目录
mkdir 命令
mkdir 目录门路 #创立一个目录,目录门路能够是绝对路径也能够是相对路径
mkdir data #在当前目录下创立一个 data 目录
mkdir ./dir #在当前目录下创立一个 dir 目录
mkdir /root/tmp #在 /root 目录下创立一个 tmp 目录
mkdir 创立目录时,只有在目录的下级目录存在时,才会创立
mkdir -p 目录 #创立目录时,如果没有父目录,会创立父目录,递归地创立目录
mkdir -p a/b/c #在当前目录下创立 3 级目录
rmdir 命令
rmdir [参数] 目录门路 #删除目录命令,rmdir 默认只能删除空目录
rmdir ./dir #删除当前目录下的 dir 目录
rmdir -p 目录门路 #示意删除目录和它的父目录(目录要是一个空目录)rmdir -p a/b/c #删除当前目录下的 a /b/ c 目录
touch 命令
touch 命令 #创立文件命令
touch 文件门路
touch 1.txt #在当前目录下创立一个 1.txt 文件
touch /root/2.txt #在 /root 目录下创立一个 2.txt 文件
rm 命令
rm [参数] 门路 #删除命令
rm 1.txt #删除当前目录下的 1.txt 文件,删除时会提醒,是否删除如果输出 y 示意删除,输出 n 示意不删除
rm -f /root/2.txt #- f 示意强制删除,不会提醒, 强制删除 /root 目录下的 2.txt
rm -r a/ #递归的删除当前目录下 a 目录下的所有内容
[root@bow ~]# rm -r a/
rm:是否进入目录 "a/"? y
rm:是否进入目录 "a/b"? y
rm:是否进入目录 "a/b/c"? y
rm:是否删除一般空文件 "a/b/c/3.txt"?y
rm:是否删除目录 "a/b/c"?y
rm:是否删除一般空文件 "a/b/2.txt"?y
rm:是否删除目录 "a/b"?y
rm:是否删除一般空文件 "a/1.txt"?y
rm:是否删除目录 "a/"?y
rm -rf a/ #强制删除当前目录下 a 目录及 a 目录下的所有内容
rm -rf * #删除当前目录下的所有内容
rm -rf a/* #删除当前目录下 a 目录下的所有内容
rm -rf *.txt #删除当前目录下的所有 txt 文件
rm -rf *s* #删除当前目录下所有名字中蕴含 s 的文件或文件夹
echo 命令
echo #输入命令,能够输出变量,字符串的值
echo Hello World #打印 Hello World
echo $PATH #打印环境变量 PATH 的值, 其中 $ 是取变量值的符号,用法:$ 变量名 或者 ${变量名}
echo -n #打印内容但不换行
echo -n Hello World
和 >> 命令
和 >>: 输入符号,将内容输入到文件中,> 示意笼罩(会删除原文件内容) >> 示意追加
echo Hello World > 1.txt #将 Hello World 输入到当前目录下的 1.txt 文件
#如果当前目录下没有 1.txt 文件会创立一个新文件,#如果当前目录下有 1.txt,则会删除原文件内容,写入 Hello World
echo 1234 >> 1.txt #将 1234 追加到当前目录下的 1.txt 中,如果文件不存在会创立新文件
通过 > 和 >> 都能够创立文件
文件查看命令
cat 文件门路 #查看文件的所有内容
cat 1.txt #查看当前目录下 1.txt 的内容
cat /root/1.txt #查看 /root 目录下的 1.txt 文件内容
more 文件门路 #分页查看文件内容
more linux 常用命令.txt #分页查看当前目录下 linux 常用命令.txt 文件的内容
按空格或回车,会持续加载文件内容,按 q 退出查看
当加载到文件开端时,会主动退出查看
less 文件门路 #分页查看文件内容
less linux 常用命令.txt #分页查看文件内容,按空格持续加载文件,按 q 退出查看,不会主动退出查看
head [参数] 文件门路 #从文件开始查看文件
head linux 常用命令.txt #查看文件的前 10 行内容
head -n 文件门路 # n 是一个正整数,示意查看文件的前 n 行数据
head -20 linux 常用命令.txt #查看文件的前 20 行内容
tail [参数] 文件门路 #从文件的开端查看文件内容
tail linux 常用命令.txt #查看文件的后 10 行内容
tail -n 文件门路 # n 是一个正整数,示意查看文件的后 n 行数据
tail -15 linux 常用命令.txt #查看文件后 15 行内容
tail -f 文件门路 #动静的查看文件的最初几行内容(查看文件时,期待文件更新,如果文件更新了,会显示出新的内容)
tail -f 1.txt #查看文件 1.txt 的最新内容,tail -f 个别用来查看日志文件 按 CTRL+ C 或才 CTRL+ Z 退出查看
CTRL+C:示意暂停过程
CTRL+Z: 示意进行过程
文件编辑命令
vi/vim 命令:这两个命令在应用上简直齐全一样(集体喜爱 vim 命令)
装置 vim 命令:(装置是须要网络的)
yum -y install vim
yum 命令是 centos 和 red hat 零碎上应用官网资源包去装置软件的命令
yum -y install 软件名
yum -y remove 软件名
查看虚拟机能不能上外网:
ping www.baidu.com
CTRL+ C 或者 CTRL+ Z 退出
vim 命令总体分为两类
vim 文件门路 – 进入非编辑模式
非编辑模式命令:
yy:复制光标以后行
p:粘贴
dd: 删除光标以后行
$: 光标跳到以后行的行尾
^: 光标跳到以后行的行首
:s/ 原字符串 / 新字符串 /: 替换光标以后行内容
:%s/ 原字符串 / 新字符串 /g: 全文替换 #g 示意 global i 示意 ignore 疏忽大小写
/ 要查找的内容: 从光标以后行向后查找内容
/d #在文件中查找 d 字母
? 要查找的内容:从光标以后地位向前查找内容
?d #查找文件中的 d 字母
CTRL+F: 向下翻 1 页
CTRL+B: 向上翻 1 页
:set nu:显示文件的行号
:set nonu: 去掉行号显示
u: 吊销
**:set ff : 显示文件的格局 #unix 示意在 unix 上的文件 dos 示意文件是 windows 上的文件 **
:w:示意保留文件
:q : 示意退出 vim 命令
:wq: 保留并退出
:w!: 强制保留
:q!: 强制退出但不保留
:wq!: 强制保留并退出
i: 示意进入编辑模式,并且光标在以后行
o:示意进入编辑模式,并且光标呈现的以后行的下一行(新行)
编辑模式命令:
编辑模式下能够能过方向键管制光标的地位,并且能够输出文件到光标以后地位
ESC: 退出编辑模式
cp 命令
cp 拷贝命令
cp [参数] 原文件门路 指标文件门路
cp 1.txt a/ #将 1.txt 文件拷贝到 a 目录下
cp 1.txt 2.txt #将 1.txt 拷贝到 2.txt
cp -r a data #- r 参数示意将目录和目录下的文件一起拷贝,将 a 目录拷贝到 data 目录
scp 命令
scp 近程拷贝命令,它能够将本地文件拷贝到近程服务器,也能够将近程服务器的文件拷贝到本地,也能够将一台服务器文件拷贝到另一台
scp -r 本地文件门路 用户名 @ip[:port]: 近程门路 #将本地文件拷贝到近程服务器
scp -r 2.txt root@192.168.5.105:/root/data/ #将本地的 2.txt 拷贝到 192.168.5.105 的 /root/data 目录下
scp -r 用户名 @ip[:port]: 近程文件门路 本地门路 #将近程文件拷贝到本地
scp -r root@192.168.5.105:/root/3.bak /root/data #将近程的 /root/3.bak 文件拷贝到本地的 /root/data 目录
scp -r 用户名 @ip[:port]: 近程文件门路 用户名 @ip[:port]: 近程文件门路 #将文件从一台服务器拷贝到另一台服务器
scp -r root@192.168.5.105:/root/tmp root@192.168.5.105:/root/data/ #将 /root/tmp 拷贝到近程的 /root/data 目录下
mv 命令
mv 挪动命令, 它能够挪动文件, 也能够给文件改名
mv 原文件门路 指标文件门路 #将文件从一个中央拷贝到另一个中央
mv 1.txt 12.txt #将文件 1.txt 改名为 12.txt
mv tmp tmp #将 tmp 目录改名为 tm
mv 12.txt tm #将文件 12.txt 挪动到 tm 目录下
man 命令
man 命令, 查看命令的命令, 查看命令帮忙文档(显示的信息最具体)
man mv #查看 mv 命令的文件
man 命令和命令的 --help 参数后果类似(man 命令只实用于 linux 自身的命令)
free 命令
free 命令, 它是用来查看零碎内存的命令
free #查看零碎内存应用状况
free -h #查看内存应用状况, 并且以适合的单位显示大小
df 命令
df 命令, 它是查看零碎硬盘的命令
df #查看零碎硬盘应用状况
df -h #查看硬盘应用, 并以适合单位显示大小
wc 命令
wc 命令,word count 的缩写, 它是查看文件的单词个数
wc [参数] 文件
wc -l linux 常用命令.txt #- l 示意 line 行数 计算文件的行数
wc -w linux 常用命令.txt #- w 示意 word 单词个数 计算文件的单词个数
ps 命令
ps 命令, 它是查看零碎过程的命令
ps -aux
ps -ef
jps 查看 java 过程
kill 命令
kill 过程 id #完结过程
root 21752 1.6 0.5 158800 5532 ? Ss 08:34 0:00 sshd: root@pts/0
kill 21752 #完结 ssh 登陆的过程
kill -9 过程 id #强制完结过程
用户和权限命令
创立用户组:
groupadd 用户组名称 #创立一个用户组
groupadd bows #创立一个叫 bows 的用户组
删除用户组:
groupdel 用户组名称 #删除一个用户组(删除时必须是用户组下没有用户时)
groupdel bows #删除用户组
创立用户:
useradd 用户名 [-g 用户组名 -G 用户组名] #创立一个用户,- g 指定用户的主用户组,- G 指定用户的其余用户组
useradd bow -g bows #创立 bow 用户, 并指定它的主用户组是 bows
id 用户名 #查看用户的 id
id bow #查看用户 bow 的 id
删除用户:
userdel 用户名 #删除用户
userdel bow #删除用户 bow
切换用户:
su 用户名 #切换用户, 但不加载用户的环境变量
su - 用户名 #切换用户, 并加载用户的环境变量(倡议应用这种形式切换用户)
su bow #切换到 bow 用户(root 用户切换到其余用户是不须要输出明码的, 其余用户切换到 root 用户是要输出 root 用户明码的, 其余用户之间的切换也是须要明码)
exit #退出以后用户的登陆
批改用户明码:
passwd 用户名 #批改用户明码
passwd bow #批改 bow 用户的明码
权限:
文件类型 用户权限 用户组权限 其余用户权限
- rw- r-- r-- . 1 root
root 5890 3 月 23 14:11 linux 常用命令.txt
d rwx r-x r-x . 4 root
root 81 3 月 24 08:06 data
d 示意文件夹 u 示意用户权限 g 示意用户组权限 o 示意其余用户权限
r: 示意读权限 数字示意为 4
w: 示意写权限 数字示意为 2
x: 示意执行权限 数字示意为 1
-: 示意没有权限
chmod 赋权限命令
chmod 权限 文件门路
-rw-r--r--. 1 root root 31 3 月 24 07:46 2.txt
chmod u+x 2.txt #给用户加上执行权限
-rwxr--r--. 1 root root 31 3 月 24 07:46 2.txt
chmod g+w 2.txt #给用户组加写权限
-rwxrw-r--. 1 root root 31 3 月 24 07:46 2.txt
chmod o+x 2.txt #给其余用户加执行权限
-rwxrw-r-x. 1 root root 31 3 月 24 07:46 2.txt
chmod g-w 2.txt #去掉用户的写权限
-rwxr--r-x. 1 root root 31 3 月 24 07:46 2.txt
用 3 个数字来设置文件或目录的权限, 第 1 个数字示意用户权限, 第 2 数字示意用户组权限, 第 3 个数字示意其余用户权限
chmod 755 2.txt #设置用户的权限为 rwx, 用户组的权限 r -x, 其余用户的权限 r -x
-rwxr-xr-x. 1 root root 31 3 月 24 07:46 2.txt
chmod 766 2.txt #设置用户权限为 rwx, 用户组权限 rw-, 其余用户的权限 rw-
-rwxrw-rw-. 1 root root 31 3 月 24 07:46 2.txt
设置目录权限时, 要应用 - R 参数, 保障目录下的所有文件和目录的权限雷同
drwxr-xr-x. 4 root root 81 3 月 24 08:06 data
chmod -R 777 data #将 data 目录以及它上面的所有文件的权限设置为 rwxrwxrwx
drwxrwxrwx. 4 root root 81 3 月 24 08:06 data
chown 命令, 它是更改文件所属用户
chown -R 用户[: 用户组] 目录或文件
-rwxrw-rw-. 1 root root 31 3 月 24 07:46 2.txt
chown bow 2.txt #将 2.txt 的所属用户改为 bow
-rwxrw-rw-. 1 bow root 31 3 月 24 07:46 2.txt
chown bow:bows 2.txt #将 2.txt 所属的用户改为 bow, 用户组改为 bows
-rwxrw-rw-. 1 bow bows 31 3 月 24 07:46 2.txt
drwxr--r--. 4 root root 81 3 月 24 08:06 data
chown -R bow:bows data #将 data 目录及它子目录文件的所属用户改为 bow, 用户组改为 bows
drwxr--r--. 4 bow bows 81 3 月 24 08:06 data
查找命令
find 命令, 能够依据文件的工夫, 名称等查找文件
find *.txt #查找 txt 文件
grep 命令, 查找内容
grep cat linux 常用命令.txt #在 linux 常用命令.txt 文件中查问蕴含 cat 的行, 查找文件内容
| 通道符号, 连贯两个命令的, 将前一个命令的查问后果传给后一个命令
ps -ef | grep sshd #查看零碎中 sshd 的过程
ps -ef | grep java #查看所有 java 过程
grep -v #- v 参数示意查问不蕴含查找条件的行
grep -v cat linux 常用命令.txt #查找 linux 常用命令.txt 中不蕴含 cat 的行
ps -ef | grep sshd | grep -v grep #查问 sshd 的过程, 不包含 grep 的行
–理解性查问命令
who 命令 #查问零碎中的用户(登陆的用户)
whoami 命令 #查看零碎以后用户名
whereis 命令 #查看零碎装置的某个软件的门路
whereis python #查看 python 的装置门路
which 命令 #查找软件的可执行文件门路
which python #查看 python 可执行文件门路
压缩命令
装置 zip 和 unzip 命令:
yum -y install zip unzip
zip 压缩命令
zip 压缩文件名 要压缩的文件门路
zip 2.zip 2.txt #将 2.txt 压缩到 2.zip 中
zip data.zip data #只会压缩文件夹, 不会压缩文件夹下的内容
zip da.zip da/* #压缩文件夹和文件夹内的文件(压缩文件夹和它的下一级文件)
zip -r data.zip date #- r 示意递归地将文件夹及它的子目录文件全副压缩
unzip 解压命令
unzip 压缩文件门路
unzip 2.zip #将 2.zip 压缩包解压到当前目录下
unzip -l 压缩文件名 #不解压文件, 查看压缩包内的文件
unzip -l da.zip #查看 da.zip 压缩文件中蕴含的文件
unzip da.zip -d 目标目录 #将压缩文件解压到指定目录
unzip da.zip -d tm/ #将压缩文件 da.zip 解压到 tm 目录下
tar 命令, 用来压缩和解压缩.tar 和.tar.gz 包
压缩.tar 包:
tar cvf 压缩文件名 要压缩的文件或目录
tar cvf 2.tar 2.txt #将 2.txt 压缩为 2.tar 包
tar cvf data.tar data #将 data 目录夸大到 data.tar 包中
解压.tar 包:
tar xvf 压缩文件名 [-C 指定解压目录]
tar xvf 2.tar #将 2.tar 解压到当前目录
tar xvf 2.tar -C a/ #将 2.tar 解压到 a 目录
tar xvf data.tar #解压 data.tar 到当前目录
压缩.tar.gz 包:
tar zcvf 压缩文件名 要压缩的文件
tar zcvf tm.tar.gz tm #将当前目录下的 tm 目录压缩为 tm.tar.gz
解压.tar.gz 包:
tar zxvf 压缩文件名
tar zxvf tm.tar.gz #将 tm.tar.gz 解压到当前目录
gzip 命令, 将文件压缩为.gz 包(能够用来压缩.tar 文件)
gzip 要压缩的文件
gzip 2.txt #将 2.txt 压缩为 2.txt.gz
gzip data.tar #将 data.tar 压缩为 data.tar.gz
source 命令
source 文件门路 #让配置文件批改后果立刻失效,(还能够在 shell 脚本中援用其余的 shell 脚本)
/etc/profile #linux 上的零碎环境变量配置文件
source /etc/profile #将零碎环境变量失效
export 命令
export 导入全局变量(环境变量)
export 变量名 = 变量值
export 变量名
变量的赋值:
变量名 = 变量值
<<EOF
<<EOF … EOF: 将 <<EOF 和 EOF 之间的多行内容传给后面的命令,
其中 EOF 能够是任意字符串, 但约定都应用 EOF
[root@bow ~]# cat <<EOF
> HELLO
> WORD
> JOB
> SMITH
> EOF
HELLO
WORD
JOB
SMITH
<<EOF 是 shell 脚本中应用 sqlplus 的根底
[root@bow ~]# cat <<A
> 11234
> 1234
> 1234
> 1253
> 1253
> A
11234
1234
1234
1253
1253
留神:EOF 必须顶行写
[root@bow ~]# cat <<EOF
> ASDF
> EOF
> ASDFASDF
> EOF
ASDF
EOF
ASDFASDF
cut 命令
cut 截取命令
-f 参数, 指定列
-d 参数指定列和列之间的分隔符, 默认的分隔符是 t(行向制表符)
cut -f 1 1.txt #取 1.txt 文件中的第 1 列内容(列分隔符默认为 t)
cut -f 2 1.txt #取 1.txt 文件中的第 2 列内容
cut -f 1 -d ',' 3.txt #取 3.txt 文件中的第 1 列(列分隔符为,)
cut -f 2 -d ',' 3.txt #取 3.txt 第 2 列
wc -l linux 常用命令.txt | cut -f 1 -d’’#取文件 linux 常用命令.txt 的行数(分隔符是空格)
[root@bow ~]# cut -f 1 -d ',' <<EOF
> A,B,C
> D,E,F
> EOF
A
D
printf 命令
%ns 输入字符串,n 是数字,指代输入几个字符
%ni 输入整数。n 是数字,指代输入几个数字
%m.nf 位数和小数位数。例如:%8.2f 代表输入 8 位数,其中 2 位是小数,6 位是整数
printf 格局字符串 内容
[root@bow ~]# printf '%s,%s,%sn' abc def ghj klj klo qer #一行单词第三个打印成一行, 单词和单词之间用逗号隔开
abc,def,ghj
klj,klo,qer
[root@bow ~]# printf '%s %sn' $(cat 4.txt) #将文件 4.txt 中的一行内容中的单词划分为两个一组打印 cat 单干查看文件内容 $(cat 4.txt)示意取 cat 命令的执行后果
empno ename
job sal
comm depno
5.txt 内容
A B C D E
F G H
[root@bow ~]# printf '%s,%sn' $(cat 5.txt)
A,B
C,D
E,F
G,H
[root@bow ~]# printf '%5.2fn' 12.1 #%5.2f 示意输入一个小数, 数的长度是 5, 其中有两个小数
12.10
[root@bow ~]# printf '%5.2fn' 121234.116134 #如果输入的值最大长度超出 5, 那么整数局部不变量, 小数局部会依照四舍五入的办法保留两位
121234.12
[root@bow ~]# printf '%in' 1234.5678 #%i 只取数字的整数局部
-bash: printf: 1234.5678: 有效数字
1234
awk 命令
awk 命令字符串 要解决的内容
[root@bow ~]# awk '{printf $1"n"}' 1.txt #printf 打印 $n 示意取第几列 $1 示意取第 1 列
Hello
smith
tomcat
awk‘{print $2}’1.txt #取 1.txt 的第 2 列,print 和 printf 性能雷同是打印, 比 printf 多一个换行性能
[root@bow ~]# awk '{printf $1","}' 1.txt
Hello,smith,tomcat,[root@bow ~]#
[root@bow ~]# awk '{printf $1}' 1.txt
Hellosmithtomcat
[root@bow ~]# awk '{printf $1"v"}' 1.txt
Hello
smith
tomcat
[root@bow ~]# awk '{printf $1","}' 1.txt
Hello,smith,tomcat,
sed 命令
sed 参数 命令 要解决的内容
-n 个别 sed 命令会把所有数据都输入到屏幕。如果退出此抉择,则只会把通过 sed 命令解决的行输入到屏幕。-e 容许对输出数据利用多条 sed 命令编辑
-i 用 sed 的批改后果间接批改读取的数据的文件,而不是批改屏幕输入
[root@bow ~]# sed '2p' 1.txt #查问第 2 行
Hello world
smith 18
smith 18
tomcat etl
[root@bow ~]# sed -n '2p' 1.txt
smith 18
[root@bow ~]# sed -i 's/18/20/g' 1.txt 应用 sed 命令批改 1.txt 内容, 将 1.txt 中 18 替换为 20
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
a 追加,在以后行后增加一行或多行。增加多行时除最初一行外,每行开端须要用 "" 代表数据未完结。d 删除,删除指定的
p 打印,输入指定的行
[root@bow ~]# sed -i '2a !' 1.txt #在第 2 行前面追加一行 !
[root@bow ~]# cat 1.txt
Hello world
smith 20
!
tomcat etl
[root@bow ~]# sed -i '3d' 1.txt #删除文件的第 3 行内容
[root@bow ~]# cat 1.txt
Hello world
smith 20
tomcat etl
[root@bow ~]# vim 6.txt
[root@bow ~]# cat 6.txt
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
abcd/home/bow
if ad
-e /home/bow
#将 6.txt 文件中的 /home/bow 批改为 /user/bw
#留神: 替换时, 的符号是依据 / 来判断 s/ 原字符串 / 指标字符串 /g 如果原字符串或新的字符串中有 / 时, 须要应用来本义
# 谬误写法:s//home/bow//user/bw/g 正确写法 s//home/bow//user/bw/g
[root@bow ~]# sed -i 's//home/bow//user/bw/g' 6.txt
[root@bow ~]# cat 6.txt
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
abcd/user/bw
if ad
-e /user/bw
留神:linux 中字符串的下标是从 0 开始的
service 命令
service 服务命令
ervice 服务名 [命令]
命令:enable|disable|start|stop|restart|status
start: 启动服务
stop: 敞开服务
restart: 重启服务
status: 查看服务状态
service network start #遍历网络
service network stop #敞开网络
service network restart #重启网络
service network status #查看网络状态
service iptables start #centos6 及 6 以下版本, 启动防火墙的命令
service iptables stop #centos6 及 6 以下版本, 敞开防火墙(留神, 敞开防火墙, 只是长期敞开, 下次重启之后防火墙仍然会启动)
service iptables restart #重启防火墙
service mysqld start #启动 mysql 数据库
service mysqld restart #启动 mysql 数据库
service mysqld stop #敞开 mysql 数据库
chkconfig 命令
chkconfig 命令查看,设置零碎的各种服务
chkconfig 服务名 on|off #on 示意关上服务 off 示意敞开服务 通过 chkconfig 设置的服务是永恒失效
centos6 及以下版本永恒敞开或关上防火墙
chkconfig iptables on #关上防火墙
chkconfig iptables off #永恒地敞开防火墙
防火墙:
centos7 以上:
systemctl start firewalld #启动防火墙
systemctl stop firewalld #敞开防火墙(长期敞开)
systemctl status firewalld #查看防火墙状态
systemctl disable firewalld #永恒敞开防火墙
systemctl enable firewalld #关上防火墙(不是启动防火墙)
通过 firewall-cmd 来配置防火墙
centos6 及以下:
防火墙配置文件:/etc/iptables, 这个文件能够具体的配置防火墙, 如果没有 /etc/iptables 文件能够应用 iptables save 能够生成该文件
iptables 命令配置防火墙
service iptables start #centos6 及 6 以下版本, 启动防火墙的命令
service iptables stop #centos6 及 6 以下版本, 敞开防火墙(留神, 敞开防火墙, 只是长期敞开, 下次重启之后防火墙仍然会启动)
service iptables restart #重启防火墙
环境变量配置文件
/etc/profile 是 linux 零碎上配置零碎环境变量的一个文件 (针对所有用户的配置)
用户根目录下的.bash_profile: 是用户环境变量的配置(针对以后用户无效)
su - 用户名 #切换用户时, 会加载用户根目录下的.bash_profile 环境变量配置文件
su 用户名 #不会加载.bash_profile
网络配置文件
网卡配置文件目录:/etc/sysconfig/network-scripts
网卡配置文件名都是以 ifcfg- 结尾, 其中 ifcfg-lo 是本地网卡, 是不须要配置的
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
#网卡类型
TYPE="Ethernet"
#协定 dhcp 示意:ip 地址是主动调配的,static 示意动态 ip(手动配置 ip 地址),none 示意没有协定(也是须要手动配置 ip 地址)
BOOTPROTO="dhcp"
DEFROUTE="yes"
#网卡名称
NAME="enp0s3"
UUID="deed3fd2-bd67-459b-8a49-ef0dd6e575a2"
DEVICE="enp0s3"
#配置网卡是否随机启动,yes: 示意随机启动,no: 示意须要手动启动
ONBOOT="yes"
#配置动态 ip,BOOTPROTO 必须是 static 或 none
#ip 地址配置
IPADDR=192.168.1.106
#配置子网掩码
NETMASTER=255.255.255.0
#配置网关
GATEWAY=192.168.1.1
#配置 dns: 域名解析服务器能够配置多个
DNS1=192.168.1.1
DNS2=192.168.5.1
批改完网卡文件之后,_重启网络_即可
sudo 命令
sudo 命令, 它在非 root 用户下, 去调用一些 root 用户的命令, 或者批改一些文件
sudo 命令是须要配置的,sudo 的配置文件是 /etc/sudoers
# 给 bow 用户配置 sudo 权限
[root@bow ~]# vim /etc/sudoers
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
#给 bow 用户设置 sudo 命令权限
bow ALL=(ALL) ALL
sudo 命令的应用:
sudo 命令
[root@bow ~]# su - bow
上一次登录:四 3 月 26 07:30:53 CST 2020pts/0 上
[bow@bow ~]$ sudo vim /etc/profile
ping 命令
ping 命令查看网络连通性的命令和 windows 上的性能一样
ping ip(0.0.0.100)
ifconfig 命令
ifconfig 命令属于 net-tools 软件包, 应用前须要装置 net-tools
net-tools 的装置:
yum -y install net-tools
ifconfig 查看 ip 地址
netstat 命令
netstat 命令也属于 net-tools 软件包
netstat -tulp | grep 1521 #查看 oracle 监听器程序是否失常启动
rpm 命令
rpm 是 linux 上的装置命令,用来装置.rpm 格局的安装包
rpm -ivh .rpm 文件的门路 #示意装置软件包
rpm -qa #查看已装置的软件
rpm -qa | grep mysql #查看曾经装置的 mysql 软件包
rpm -e --nodeps 安装包名 #卸载软件包 - e 示意卸载 --nodeps 示意不理睬的依赖关系
本文分享自华为云社区《linux 常用命令大全》,原文作者:HW-QGS。
点击关注,第一工夫理解华为云陈腐技术~