飞道的博客

来不及解释!Linux常用命令大全,先收藏再说

244人阅读  评论(0)

摘要:Linux常用命令,很适合你的。

一提到操作系统,我们首先想到的就是windows和Linux。Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件。相比较Windows来说,Linux的很多管控都需要用命令来操作。

Linux命令行方式的操作,特别是在服务器端编程、管理、运维方面,都非常的简单、短小、精悍。短短一行组合命令,即可完成在Windows需要各种加工、整合的复杂高效的功能操作。 不信,下面全都是。

启动网络命令

ip addr 查看网卡信息


  
  1. service network start 启动网卡
  2. service network stop 关闭网卡
  3. service network restart 重启网络

pwd命令

pwd命令,查看当前目录的路径

linux下所有的绝对路径都是从根目录"/"开始

/root:是linux下root用户的根目录

/home:是linux下其他用户的默认根目录 (例如:在linux上创建了一个bow用户,那么就会在/home下面生成一个bow目录作为bow用户的根目录)

/etc:是linux下系统配置文件目录

/tmp:临时文件目录,所有用户都可以用

ls命令

ls [参数] 目录路径
ls 表示查看目录下的文件


  
  1. ls #表示查看当前目录下的文件
  2. ls -l #表示查看当前目录下的详细信息
  3. ls -a #表示查看当前目录下的所有文件(包含隐藏文件)
  4. ls -la #表示查看当前目录下的所有文件(包含隐藏文件)的详细信息
  5. ls -lh #h是以适当的单位来显示文件的大小 ls -lh表示查看当前目录下的文件的详细信息,并以合适单位显示文件大小
  6. ls -l / #表示查看根目录"/"下文件的详细信息
  7. ls /etc #表示查看目录/etc下的文件
  8. ls --help #查看命令的帮助文档
  9. --help参数:所有linux上的命令都有,但写法上有如下几种:
  10. (1) --help
  11. (2) --h
  12. (3)- help
  13. ( 4)-h
  14. ll命令:它和ls -l命令功能相同,但是不是所有的linux上都默认安装

cd命令

cd 目录路径 #进入一个目录,目录路径可以是绝对路径(以/开始的路径都是绝对路径),也可以是相对路径
相对路径:以非/开始的路径,
注意: "."表示当前目录
"…"表示当前目录的上一级目录,它可以多个一起使用
"~"表示当前用户的根目录 例如:root用户时,~表示/root目录 bow用户时,~表示/home/bow目录


  
  1. cd / #表示进入系统根目录
  2. cd usr/ #表示进入当前目录下的usr目录
  3. cd local/ #表示进入当前目录下的local目录
  4. cd ./bin #表示进入当前目录下的bin目录
  5. cd .. #表示进入当前目录的上一级目录
  6. cd ../.. #表示进入当前目录的上级目录的上一级目录
  7. cd /usr/ local/bin #进入/usr/local/bin目录
  8. cd ../etc #表示进入和当前目录同级的etc目录 #..表示当前目录的上一级目录 ../etc表示当前目录上级目录下的etc目录(和当前目录同级)
  9. cd ~ #表示进入当前用户的根目录(cd ~ 和直接执行cd后不加目录的效果相同)
  10. #例如:root用户进入/root目录,bow用户进入/home/bow目录
  11. cd ~/data #表示进入当前用户根目录下的data目录 例如:root用户则进入了/root/data目录

mkdir命令

mkdir 目录路径 #创建一个目录,目录路径可以是绝对路径也可以是相对路径


  
  1. mkdir data #在当前目录下创建一个data目录
  2. mkdir ./dir #在当前目录下创建一个dir目录
  3. mkdir /root/tmp #在/root目录下创建一个tmp目录

mkdir创建目录时,只有在目录的上级目录存在时,才会创建

mkdir -p 目录#创建目录时,如果没有父目录,会创建父目录,递归地创建目录

mkdir -p a/b/c #在当前目录下创建3级目录

rmdir命令


  
  1. rmdir [参数] 目录路径 #删除目录命令,rmdir默认只能删除空目录
  2. rmdir ./dir #删除当前目录下的dir目录
  3. rmdir -p 目录路径 #表示删除目录和它的父目录(目录要是一个空目录)
  4. rmdir -p a/b/c #删除当前目录下的a/b/c目录

touch命令

touch 命令 #创建文件命令

touch 文件路径


  
  1. touch 1.txt #在当前目录下创建一个 1.txt文件
  2. 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


  
  1. rm -r a/ #递归的删除当前目录下a目录下的所有内容
  2. [root @bow ~] # rm -r a/
  3. rm:是否进入目录 "a/"? y
  4. rm:是否进入目录 "a/b"? y
  5. rm:是否进入目录 "a/b/c"? y
  6. rm:是否删除普通空文件 "a/b/c/3.txt"?y
  7. rm:是否删除目录 "a/b/c"?y
  8. rm:是否删除普通空文件 "a/b/2.txt"?y
  9. rm:是否删除目录 "a/b"?y
  10. rm:是否删除普通空文件 "a/1.txt"?y
  11. rm:是否删除目录 "a/"?y
  12. rm -rf a/ #强制删除当前目录下a目录及a目录下的所有内容
  13. rm -rf * #删除当前目录下的所有内容
  14. rm -rf a/* #删除当前目录下a目录下的所有内容
  15. rm -rf *.txt #删除当前目录下的所有txt文件
  16. rm -rf *s* #删除当前目录下所有名字中包含s的文件或文件夹

echo命令

echo #输出命令,可以输入变量,字符串的值


  
  1. echo Hello World #打印Hello World
  2. echo $PATH #打印环境变量PATH的值,其中$是取变量值的符号,用法:$变量名 或者 ${变量名}
  3. echo -n #打印内容但不换行
  4. echo -n Hello World

>和>>命令

和>>:输出符号,将内容输出到文件中,>表示覆盖(会删除原文件内容) >>表示追加


  
  1. echo Hello World > 1.txt #将Hello World输出到当前目录下的 1.txt文件
  2. #如果当前目录下没有1.txt文件会创建一个新文件,
  3. #如果当前目录下有1.txt,则会删除原文件内容,写入Hello World
  4. echo 1234 >> 1.txt #将 1234追加到当前目录下的 1.txt中,如果文件不存在会创建新文件

通过>和>>都可以创建文件

文件查看命令

cat 文件路径 #查看文件的所有内容


  
  1. cat 1.txt #查看当前目录下 1.txt的内容
  2. cat /root/ 1.txt #查看/root目录下的 1.txt文件内容

more 文件路径 #分页查看文件内容

more linux常用命令.txt #分页查看当前目录下linux常用命令.txt文件的内容

#按空格或回车,会继续加载文件内容,按q退出查看

#当加载到文件末尾时,会自动退出查看

less 文件路径 #分页查看文件内容

less linux常用命令.txt #分页查看文件内容,按空格继续加载文件,按q退出查看,不会自动退出查看

head [参数] 文件路径 #从文件开始查看文件


  
  1. head linux常用命令.txt #查看文件的前10行内容
  2. head -n 文件路径 # n是一个正整数,表示查看文件的前n行数据
  3. head - 20 linux常用命令.txt #查看文件的前20行内容

tail [参数] 文件路径 #从文件的末尾查看文件内容

tail linux常用命令.txt #查看文件的后10行内容


  
  1. tail -n 文件路径 # n是一个正整数,表示查看文件的后n行数据
  2. tail - 15 linux常用命令.txt #查看文件后15行内容
  3. tail -f 文件路径 #动态的查看文件的最后几行内容(查看文件时,等待文件更新,如果文件更新了,会显示出新的内容)

tail -f 1.txt #查看文件1.txt的最新内容,tail -f 一般用来查看日志文件 按CTRL+C或才CTRL+Z退出查看


  
  1. CTRL+C:表示暂停进程
  2. CTRL+Z: 表示停止进程

文件编辑命令

vi/vim命令:这两个命令在使用上几乎完全一样(个人喜欢vim命令)

安装vim命令:(安装是需要网络的)

 yum -y install vim

yum命令是centos和red hat系统上使用官方资源包去安装软件的命令


  
  1. yum -y install 软件名
  2. yum -y remove 软件名

查看虚拟机能不能上外网:


  
  1. ping www.baidu.com
  2. CTRL+C或者 CTRL+Z退出

vim命令总体分为两类

vim 文件路径 --进入非编辑模式

非编辑模式命令:


  
  1. yy:复制光标当前行
  2. p:粘贴
  3. dd:删除光标当前行
  4. $:光标跳到当前行的行尾
  5. ^ :光标跳到当前行的行首
  6. :s/原字符串/新字符串/ :替换光标当前行内容
  7. :%s/原字符串/新字符串/ g:全文替换 #g表示global i表示ignore忽略大小写
  8. /要查找的内容 :从光标当前行向后查找内容
  9. /d #在文件中查找d字母
  10. ?要查找的内容:从光标当前位置向前查找内容
  11. ?d #查找文件中的d字母
  12. CTRL+ F:向下翻 1
  13. CTRL+ B:向上翻 1
  14. :set nu:显示文件的行号
  15. :set nonu: 去掉行号显示
  16. u:撤消
  17. ** :set ff :显示文件的格式 #unix表示在unix上的文件 dos表示文件是windows上的文件**
  18. :w :表示保存文件
  19. :q :表示退出vim命令
  20. :wq :保存并退出
  21. :w! :强制保存
  22. :q! :强制退出但不保存
  23. :wq! :强制保存并退出
  24. i:表示进入编辑模式,并且光标在当前行
  25. o:表示进入编辑模式,并且光标出现的当前行的下一行(新行)

编辑模式命令:

编辑模式下可以能过方向键控制光标的位置,并且可以输入文件到光标当前位置

 ESC:退出编辑模式

cp命令

cp 拷贝命令

cp [参数] 原文件路径 目标文件路径


  
  1. cp 1. txt a/ #将1.txt文件拷贝到a目录下
  2. cp 1. txt 2. txt #将1.txt拷贝到2.txt
  3. cp -r a data #-r参数表示将目录和目录下的文件一起拷贝,将a目录拷贝到data目录

scp命令

scp 远程拷贝命令,它可以将本地文件拷贝到远程服务器,也可以将远程服务器的文件拷贝到本地,也可以将一台服务器文件拷贝到另一台


  
  1. scp -r 本地文件路径 用户名@ip[ :port] :远程路径 #将本地文件拷贝到远程服务器
  2. scp -r 2.txt root@192. 168.5. 105 :/root/data/ #将本地的2.txt拷贝到192.168.5.105的/root/data目录下
  3. scp -r 用户名@ip[ :port] :远程文件路径 本地路径 #将远程文件拷贝到本地
  4. 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 原文件路径 目标文件路径 #将文件从一个地方拷贝到另一个地方


  
  1. mv 1.txt 12.txt #将文件 1.txt改名为 12.txt
  2. mv tmp tmp #将tmp目录改名为tm
  3. mv 12.txt tm #将文件 12.txt移动到tm目录下

man命令

man 命令,查看命令的命令,查看命令帮助文档(显示的信息最详细)


  
  1. man mv #查看mv命令的文件
  2. man命令和命令的 --help参数结果相似(man命令只适用于linux本身的命令)

free命令

free命令,它是用来查看系统内存的命令


  
  1. free #查看系统内存使用情况
  2. free -h #查看内存使用情况,并且以合适的单位显示大小

df命令

df命令,它是查看系统硬盘的命令


  
  1. df #查看系统硬盘使用情况
  2. df -h #查看硬盘使用,并以合适单位显示大小

wc命令

wc 命令,word count的缩写,它是查看文件的单词个数

wc [参数] 文件


  
  1. wc -l linux常用命令 .txt #-l表示 line行数 计算文件的行数
  2. 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 用户组名称 #创建一个用户组


  
  1. groupadd bows #创建一个叫bows的用户组
  2. 删除用户组:
  3. groupdel 用户组名称 #删除一个用户组(删除时必须是用户组下没有用户时)
  4. groupdel bows #删除用户组

创建用户:

useradd 用户名 [-g 用户组名 -G 用户组名] #创建一个用户,-g指定用户的主用户组,-G指定用户的其他用户组


  
  1. useradd bow -g bows #创建bow用户,并指定它的主用户组是bows
  2. id 用户名 #查看用户的 id
  3. id bow #查看用户bow的 id

删除用户:


  
  1. userdel 用户名 #删除用户
  2. userdel bow #删除用户bow

切换用户:


  
  1. su 用户名 #切换用户,但不加载用户的环境变量
  2. su - 用户名 #切换用户,并加载用户的环境变量(建议使用这种方式切换用户)
  3. su bow #切换到bow用户(root用户切换到其他用户是不需要输入密码的,其他用户切换到root用户是要输入root用户密码的,其他用户之间的切换也是需要密码)
  4. exit #退出当前用户的登陆

修改用户密码:


  
  1. passwd 用户名 #修改用户密码
  2. passwd bow #修改bow用户的密码

权限:


  
  1. 文件类型 用户权限 用户组权限 其他用户权限
  2. - rw- r-- r-- . 1 root
  3. root 5890 3 23 14 :11 linux常用命令.txt
  4. d rwx r-x r-x . 4 root
  5. root 81 3 24 08 :06 data
  6. d表示文件夹 u表示用户权限 g表示用户组权限 o表示其他用户权限
  7. r:表示读权限 数字表示为4
  8. w:表示写权限 数字表示为2
  9. x:表示执行权限 数字表示为1
  10. -:表示没有权限

chmod 赋权限命令


  
  1. chmod 权限 文件路径
  2. -rw-r--r--. 1 root root 31 3 24 07 :46 2. txt
  3. chmod u+x 2. txt #给用户加上执行权限
  4. -rwxr--r--. 1 root root 31 3 24 07 :46 2. txt
  5. chmod g+w 2. txt #给用户组加写权限
  6. -rwxrw-r--. 1 root root 31 3 24 07 :46 2. txt
  7. chmod o+x 2. txt #给其他用户加执行权限
  8. -rwxrw-r-x. 1 root root 31 3 24 07 :46 2. txt
  9. chmod g-w 2. txt #去掉用户的写权限
  10. -rwxr--r-x. 1 root root 31 3 24 07 :46 2. txt

用3个数字来设置文件或目录的权限,第1个数字表示用户权限,第2数字表示用户组权限,第3个数字表示其他用户权限


  
  1. chmod 755 2. txt #设置用户的权限为rwx,用户组的权限r-x,其他用户的权限r-x
  2. -rwxr-xr-x. 1 root root 31 3 24 07 :46 2. txt
  3. chmod 766 2. txt #设置用户权限为rwx,用户组权限rw-,其他用户的权限rw-
  4. -rwxrw-rw-. 1 root root 31 3 24 07 :46 2. txt

设置目录权限时,要使用-R参数,保证目录下的所有文件和目录的权限相同


  
  1. drwxr-xr-x. 4 root root 81 324 08: 06 data
  2. chmod -R 777 data #将data目录以及它下面的所有文件的权限设置为rwxrwxrwx
  3. drwxrwxrwx. 4 root root 81 324 08: 06 data

chown 命令,它是更改文件所属用户


  
  1. chown -R 用户[:用户组] 目录或文件
  2. -rwxrw-rw-. 1 root root 31 3 24 07 :46 2. txt
  3. chown bow 2. txt #将2.txt的所属用户改为bow
  4. -rwxrw-rw-. 1 bow root 31 3 24 07 :46 2. txt
  5. chown bow:bows 2. txt #将2.txt所属的用户改为bow,用户组改为bows
  6. -rwxrw-rw-. 1 bow bows 31 3 24 07 :46 2. txt
  7. drwxr--r--. 4 root root 81 3 24 08 :06 data
  8. chown -R bow:bows data #将data目录及它子目录文件的所属用户改为bow,用户组改为bows
  9. drwxr--r--. 4 bow bows 81 3 24 08 :06 data

查找命令

find命令,可以根据文件的时间,名称等查找文件

find *.txt #查找txt文件

grep 命令,查找内容

grep cat linux常用命令.txt #在linux常用命令.txt文件中查询包含cat的行,查找文件内容

| 通道符号,连接两个命令的,将前一个命令的查询结果传给后一个命令


  
  1. ps -ef | grep sshd #查看系统中sshd的进程
  2. ps -ef | grep java #查看所有java进程
  3. grep -v #-v参数表示查询不包含查找条件的行
  4. grep -v cat linux常用命令.txt #查找linux常用命令.txt中不包含cat的行
  5. ps -ef | grep sshd | grep -v grep #查询sshd的进程,不包括grep的行

–了解性查询命令


  
  1. who命令 #查询系统中的用户(登陆的用户)
  2. whoami命令 #查看系统当前用户名
  3. whereis命令 #查看系统安装的某个软件的路径
  4. whereis python #查看python的安装路径
  5. which 命令 #查找软件的可执行文件路径
  6. which python #查看python可执行文件路径

压缩命令

安装zip和unzip命令:

yum -y install zip unzip

zip压缩命令

zip 压缩文件名 要压缩的文件路径


  
  1. zip 2. zip 2.txt #将 2.txt压缩到 2. zip
  2. zip data. zip data #只会压缩文件夹,不会压缩文件夹下的内容
  3. zip da. zip da /* #压缩文件夹和文件夹内的文件(压缩文件夹和它的下一级文件)
  4. zip -r data.zip date #-r表示递归地将文件夹及它的子目录文件全部压缩

unzip解压命令

unzip 压缩文件路径


  
  1. unzip 2. zip #将 2. zip压缩包解压到当前目录下
  2. unzip -l 压缩文件名 #不解压文件,查看压缩包内的文件
  3. unzip -l da. zip #查看da. zip压缩文件中包含的文件
  4. unzip da. zip -d 目标目录 #将压缩文件解压到指定目录
  5. unzip da. zip -d tm/ #将压缩文件da. zip解压到tm目录下

tar命令,用来压缩和解压缩.tar和.tar.gz包

压缩.tar包:


  
  1. tar cvf 压缩文件名 要压缩的文件或目录
  2. tar cvf 2 .tar 2 .txt #将2 .txt压缩为2 .tar
  3. tar cvf data .tar data #将 data目录夸张到 data .tar包中

解压.tar包:

tar xvf 压缩文件名 [-C 指定解压目录]


  
  1. tar xvf 2. tar #将2.tar解压到当前目录
  2. tar xvf 2. tar -C a/ #将2.tar解压到a目录
  3. tar xvf data.tar #解压data.tar到当前目录

压缩.tar.gz包:


  
  1. tar zcvf 压缩文件名 要压缩的文件
  2. tar zcvf tm .tar .gz tm #将当前目录下的 tm目录压缩为 tm .tar .gz

解压.tar.gz包:


  
  1. tar zxvf 压缩文件名
  2. tar zxvf tm .tar .gz #将 tm .tar .gz解压到当前目录
  3. gzip命令,将文件压缩为 .gz包(可以用来压缩 .tar文件)
  4. gzip 要压缩的文件
  5. gzip 2 .txt #将2 .txt压缩为2 .txt .gz
  6. gzip data .tar #将 data .tar压缩为 data .tar .gz

source命令

source 文件路径 #让配置文件修改结果立即生效,(还可以在shell脚本中引用其他的shell脚本)


  
  1. /etc/profile #linux上的系统环境变量配置文件
  2. source /etc/profile #将系统环境变量生效

export命令


  
  1. export 导入全局变量(环境变量)
  2. export 变量名=变量值
  3. export 变量名
  4. 变量的赋值:
  5. 变量名=变量值

<<EOF

<<EOF … EOF:将<<EOF和EOF之间的多行内容传给前面的命令,
其中EOF可以是任意字符串,但约定都使用EOF


  
  1. [root@bow ~]# cat <<EOF
  2. > HELLO
  3. > WORD
  4. > JOB
  5. > SMITH
  6. > EOF
  7. HELLO
  8. WORD
  9. JOB
  10. SMITH

<<EOF是shell脚本中使用sqlplus的基础


  
  1. [ root@bow ~] # cat <<A
  2. > 11234
  3. > 1234
  4. > 1234
  5. > 1253
  6. > 1253
  7. > A
  8. 11234
  9. 1234
  10. 1234
  11. 1253
  12. 1253

注意:EOF必须顶行写


  
  1. [root@bow ~]# cat <<EOF
  2. > ASDF
  3. > EOF
  4. > ASDFASDF
  5. > EOF
  6. ASDF
  7. EOF
  8. ASDFASDF

cut命令

cut 截取命令


  
  1. -f 参数,指定列
  2. -d 参数指定列和列之间的分隔符,默认的分隔符是\t(行向制表符)
  3. cut -f 1 1. txt #取1.txt文件中的第1列内容(列分隔符默认为\t)
  4. cut -f 2 1. txt #取1.txt文件中的第2列内容
  5. cut -f 1 -d ',' 3. txt #取3.txt文件中的第1列(列分隔符为,)
  6. cut -f 2 -d ',' 3. txt #取3.txt第2列

wc -l linux常用命令.txt | cut -f 1 -d ’ ’ #取文件linux常用命令.txt的行数(分隔符是空格)


  
  1. [root@bow ~]# cut -f 1 -d ',' <<EOF
  2. > A,B,C
  3. > D,E,F
  4. > EOF
  5. A
  6. D

printf命令


  
  1. %ns  输出字符串,n是数字,指代输出几个字符
  2. %ni  输出整数。n是数字,指代输出几个数字
  3. %m.nf  位数和小数位数。例如:%8. 2f 代表输出 8位数,其中 2位是小数, 6位是整数

printf 格式字符串 内容


  
  1. [root @bow ~]# printf '%s,%s,%s\n' abc def ghj klj klo qer #一行单词第三个打印成一行,单词和单词之间用逗号隔开
  2. abc,def,ghj
  3. klj,klo,qer
  4. [root @bow ~]# printf '%s %s\n' $(cat 4.txt) #将文件 4.txt中的一行内容中的单词划分为两个一组打印 cat 合作查看文件内容 $(cat 4.txt)表示取cat命令的执行结果
  5. empno ename
  6. job sal
  7. comm depno
  8. 5.txt内容
  9. A B C D E
  10. F G H
  11. [root @bow ~]# printf '%s,%s\n' $(cat 5.txt)
  12. A,B
  13. C,D
  14. E,F
  15. G,H
  16. [root @bow ~]# printf '%5.2f\n' 12.1 #% 5.2f表示输出一个小数,数的长度是 5,其中有两个小数
  17. 12.10
  18. [root @bow ~]# printf '%5.2f\n' 121234.116134 #如果输出的值最大长度超出 5,那么整数部分不变量,小数部分会按照四舍五入的方法保存两位
  19. 121234.12
  20. [root @bow ~]# printf '%i\n' 1234.5678 #%i只取数字的整数部分
  21. -bash: printf: 1234.5678: 无效数字
  22. 1234

awk命令

awk 命令字符串 要处理的内容


  
  1. [root@bow ~] # awk '{printf $1 "\n"}' 1.txt #printf 打印 $n 表示取第几列 $1表示取第1列
  2. Hello
  3. smith
  4. tomcat

awk ‘{print $2}’ 1.txt #取1.txt的第2列,print和printf功能相同是打印,比printf多一个换行功能


  
  1. [root@bow ~] # awk '{printf $1 ","}' 1.txt
  2. Hello,smith,tomcat,[root@bow ~] #
  3. [root@bow ~] # awk '{printf $1}' 1.txt
  4. Hellosmithtomcat
  5. [root@bow ~] # awk '{printf $1 "\v"}' 1.txt
  6. Hello
  7. smith
  8. tomcat
  9. [root@bow ~] # awk '{printf $1 ","}' 1.txt
  10. Hello,smith,tomcat,

sed命令

sed 参数 命令 要处理的内容


  
  1. -n  一般sed命令会把所有数据都输出到屏幕。如果加入此选择,则只会把经过sed命令处理的行输出到屏幕。
  2. -e  允许对输入数据应用多条sed命令编辑
  3. -i  用sed的修改结果直接修改读取的数据的文件,而不是修改屏幕输出
  4. [root@bow ~]# sed '2p' 1.txt #查询第2行
  5. Hello world
  6. smith 18
  7. smith 18
  8. tomcat etl
  9. [root@bow ~]# sed -n '2p' 1.txt
  10. smith 18
  11. [root@bow ~]# sed -i 's/18/20/g' 1.txt 使用sed命令修改1.txt内容,将1.txt中18替换为20
  12. [root@bow ~]# cat 1.txt
  13. Hello world
  14. smith 20
  15. tomcat etl
  16. a\  追加,在当前行后添加一行或多行。添加多行时除最后一行外,每行末尾需要用"\"代表数据未完结。
  17. d  删除,删除指定的
  18. p  打印,输出指定的行
  19. [root@bow ~]# sed -i '2a !' 1.txt #在第2行后面追加一行 !
  20. [root@bow ~]# cat 1.txt
  21. Hello world
  22. smith 20
  23. !
  24. tomcat etl
  25. [root@bow ~]# sed -i '3d' 1.txt #删除文件的第3行内容
  26. [root@bow ~]# cat 1.txt
  27. Hello world
  28. smith 20
  29. tomcat etl
  30. [root@bow ~]# vim 6.txt
  31. [root@bow ~]# cat 6.txt
  32. abcd/home/bow
  33. if ad
  34. -e /home/bow
  35. abcd/home/bow
  36. if ad
  37. -e /home/bow
  38. abcd/home/bow
  39. if ad
  40. -e /home/bow
  41. #将6.txt文件中的/home/bow修改为/user/bw
  42. #注意:替换时,的符号是根据/来判断 s/原字符串/目标字符串/g 如果原字符串或新的字符串中有/时,需要使用\来转义
  43. # 错误写法:s//home/bow//user/bw/g 正确写法 s/\/home\/bow/\/user\/bw/g
  44. [root@bow ~]# sed -i 's/\/home\/bow/\/user\/bw/g' 6.txt
  45. [root@bow ~]# cat 6.txt
  46. abcd/user/bw
  47. if ad
  48. -e /user/bw
  49. abcd/user/bw
  50. if ad
  51. -e /user/bw
  52. abcd/user/bw
  53. if ad
  54. -e /user/bw

注意:linux中字符串的下标是从0开始的

service命令

service服务命令


  
  1. ervice 服务名 [命令]
  2. 命令:enable|disable| start| stop|restart| status
  3. start:启动服务
  4. stop:关闭服务
  5. restart:重启服务
  6. status:查看服务状态
  7. service network start #遍历网络
  8. service network stop #关闭网络
  9. service network restart #重启网络
  10. service network status #查看网络状态
  11. service iptables start #centos6及6以下版本,启动防火墙的命令
  12. service iptables stop #centos6及6以下版本,关闭防火墙(注意,关闭防火墙,只是临时关闭,下次重启之后防火墙依然会启动)
  13. service iptables restart #重启防火墙
  14. service mysqld start #启动mysql数据库
  15. service mysqld restart #启动mysql数据库
  16. service mysqld stop #关闭mysql数据库

chkconfig命令

chkconfig命令检查,设置系统的各种服务


  
  1. chkconfig 服务名 on| off #on表示打开服务 off表示关闭服务 通过chkconfig设置的服务是永久生效
  2. centos6及以下版本永久关闭或打开防火墙
  3. chkconfig iptables on #打开防火墙
  4. chkconfig iptables off #永久地关闭防火墙

防火墙:

centos7以上:


  
  1. systemctl start firewalld #启动防火墙
  2. systemctl stop firewalld #关闭防火墙(临时关闭)
  3. systemctl status firewalld #查看防火墙状态
  4. systemctl disable firewalld #永久关闭防火墙
  5. systemctl enable firewalld #打开防火墙(不是启动防火墙)
  6. 通过firewall-cmd来配置防火墙

centos6及以下:

防火墙配置文件:/etc/iptables,这个文件可以详细的配置防火墙,如果没有/etc/iptables文件可以使用iptables save可以生成该文件

iptables 命令配置防火墙


  
  1. service iptables start #centos6及6以下版本,启动防火墙的命令
  2. service iptables stop #centos6及6以下版本,关闭防火墙(注意,关闭防火墙,只是临时关闭,下次重启之后防火墙依然会启动)
  3. service iptables restart #重启防火墙

环境变量配置文件

/etc/profile是linux系统上配置系统环境变量的一个文件(针对所有用户的配置)
用户根目录下的.bash_profile:是用户环境变量的配置(针对当前用户有效)


  
  1. su - 用户名 #切换用户时,会加载用户根目录下的.bash_profile环境变量配置文件
  2. su 用户名 #不会加载.bash_profile

网络配置文件

网卡配置文件目录:/etc/sysconfig/network-scripts

网卡配置文件名都是以ifcfg-开头,其中ifcfg-lo是本地网卡,是不需要配置的


  
  1. vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
  2. #网卡类型
  3. TYPE= "Ethernet"
  4. #协议 dhcp表示:ip地址是自动分配的,static表示静态ip(手动配置ip地址),none表示没有协议(也是需要手动配置ip地址)
  5. BOOTPROTO= "dhcp"
  6. DEFROUTE= "yes"
  7. #网卡名称
  8. NAME= "enp0s3"
  9. UUID= "deed3fd2-bd67-459b-8a49-ef0dd6e575a2"
  10. DEVICE= "enp0s3"
  11. #配置网卡是否随机启动,yes:表示随机启动,no:表示需要手动启动
  12. ONBOOT= "yes"
  13. #配置静态ip,BOOTPROTO必须是static或none
  14. #ip地址配置
  15. IPADDR=192.168.1.106
  16. #配置子网掩码
  17. NETMASTER=255.255.255.0
  18. #配置网关
  19. GATEWAY=192.168.1.1
  20. #配置dns:域名解析服务器可以配置多个
  21. DNS1=192.168.1.1
  22. DNS2=192.168.5.1

修改完网卡文件之后,重启网络即可

sudo命令

sudo命令,它在非root用户下,去调用一些root用户的命令,或者修改一些文件
sudo命令是需要配置的,sudo的配置文件是/etc/sudoers


  
  1. #给bow用户配置sudo权限
  2. [root@bow ~] # vim /etc/sudoers
  3. ##
  4. ## Allow root to run any commands anywhere
  5. root ALL=(ALL) ALL
  6. #给bow用户设置sudo命令权限
  7. bow ALL=(ALL) ALL

sudo命令的使用:

sudo 命令


  
  1. [root@bow ~] # su - bow
  2. 上一次登录:四 326 07 : 30 : 53 CST 2020pts/ 0
  3. [bow@bow ~]$ sudo vim /etc/profile

ping命令

ping命令查看网络连通性的命令和windows上的功能一样

ping ip(0.0.0.100

ifconfig命令

ifconfig命令属于net-tools软件包,使用前需要安装net-tools

net-tools的安装:


  
  1. yum -y install net-tools
  2. ifconfig查看ip地址

netstat命令

netstat命令也属于net-tools软件包

netstat -tulp | grep 1521 #查看oracle监听器程序是否正常启动

rpm命令

rpm是linux上的安装命令,用来安装.rpm格式的安装包


  
  1. rpm -ivh .rpm文件的路径 #表示安装软件包
  2. rpm -qa #查看已安装的软件
  3. rpm -qa | grep mysql #查看已经安装的mysql软件包
  4. rpm -e --nodeps 安装包名 #卸载软件包 -e表示卸载 --nodeps表示不理会的依赖关系

本文分享自华为云社区《linux常用命令大全》,原文作者:HW-QGS 。

点击关注,第一时间了解华为云新鲜技术~


转载:https://blog.csdn.net/devcloud/article/details/112648614
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场