跳至主要內容

Linux 常用命令

Feny常用命令常用命令Linux大约 12 分钟约 3522 字

原文:

https://www.cnblogs.com/twcat/p/16912345.htmlopen in new window

https://mp.weixin.qq.com/s?__biz=MzI3NDc4NTQ0Nw==&mid=2247551648&idx=1&sn=29b3b5d1d8bf7d7cf149f9f05c4547e1open in new windowhttps://zhuanlan.zhihu.com/p/448259969open in new window

# ps与grep 常用组合用法,查找特定进程
ps -ef | grep ssh

一、目录操作命令

目录切换

语法:

cd /        切换到根目录
cd /usr     切换到根目录下的usr目录
cd ../      切换到上一级目录 或者  cd ..
cd ~        切换到home目录
cd -        切换到上次访问的目录

查看目录

语法:

# 查看当前目录下的所有目录和文件
ls
# 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -a
# 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls -l
#查看指定目录下的所有目录和文件 如:ls /usr
ls /dir
# 将目录下的所有文件列出来(含属性与隐藏档)
ls -al ~

创建目录

语法:

mkdir [-mp] 目录名称

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

删除目录或文件

语法:

rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!

删除空的目录

rmdir [-p] 目录名称

选项与参数:

-p :连同上一级『空的』目录也一起删除

目录修改

mv 移动文件与目录,或修改名称

语法:

mv [-fiu] 来源档(source) 目标档(destination)
mv [options] source1 source2 source3 .... directory 

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

cp 复制文件或目录

语法:

cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory 

选项与参数:

  • -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
  • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
  • -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
  • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
  • -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
  • -r:递归持续复制,用於目录的复制行为;(常用)
  • -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
  • -u:若 destination 比 source 旧才升级 destination !

一、重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

二、剪切目录
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

三、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

搜索目录

find 

显示当前目录

pwd

二、文件操作命令

新建文件

touch testfile

删除文件

语法:

rm [-fir] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

修改文件

打开文件

命令:

vi 文件名

示例:

打开当前目录下的aa.txt文件

 vi aa.txt 
 # 或者
 vim aa.txt

注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。

编辑文件

使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。

i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入

编辑模式下:

  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

保存文件:

第一步:ESC 进入命令行模式 第二步:: 进入底行模式 第三步:wq 保存并退出编辑

取消编辑:

第一步:ESC 进入命令行模式 第二步:: 进入底行模式 第三步:q! 撤销本次修改并退出编辑

文件的查看

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

你可以使用 *man [命令]*来查看各个命令的使用文档,如 :man cp。

cat

语法:

cat [-AbEnTv] 

选项与参数:

  • -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
  • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  • -E :将结尾的断行字节 $ 显示出来;
  • -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
  • -T :将 [tab] 按键以 ^I 显示出来;
  • -v :列出一些看不出来的特殊字符

查看 /etc/issue 这个文件的内容:

cat /etc/issue

taccat命令刚好相反,文件内容从最后一行开始显示,可以看出 taccat 的倒着写!如:

tac /etc/issue

nl

显示行号

nl /etc/issue

more

一页一页翻动

more /etc/man_db.config

在 more 这个程序的运行过程中,你有几个按键可以按的:

  • 空白键 (space):代表向下翻一页;
  • Enter :代表向下翻『一行』;
  • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
  • :f :立刻显示出档名以及目前显示的行数;
  • q :代表立刻离开 more ,不再显示该文件内容。
  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less

一页一页翻动

less /etc/man.config

less运行时可以输入的命令有:

  • 空白键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字串 :向下搜寻『字串』的功能;
  • ?字串 :向上搜寻『字串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • q :离开 less 这个程序;

取出文件前面几行

语法:

head [-n number] 文件  

选项与参数:

  • -n :后面接数字,代表显示几行的意思

tail

取出文件后面几行

语法:

tail [-n number] 文件  

选项与参数:

  • -n :后面接数字,代表显示几行的意思
  • -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

权限修改

chmod 

三、压缩文件操作

tar

这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

tar -cf all.tar *.jpg

这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。

tar -rf all.tar *.gif

这条命令是更新原来 tarall.tarlogo.gif 文件,-u 是表示更新文件的意思。

tar -uf all.tar logo.gif

这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

 tar -tf all.tar

这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。

tar -xf all.tar

这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz

tar -czf all.tar.gz *.jpg

这条命令是将上面产生的包解开。

tar -xzf all.tar.gz

zip

这条命令是将所有.jpg 的文件压缩成一个 zip 包:

zip all.zip *.jpg

这条命令是将 all.zip 中的所有文件解压出来

unzip all.zip

四、查找命令

grep

grep命令是一种强大的文本搜索工具

使用实例:

# 查找指定ssh服务进程
ps -ef | grep sshd
# 查找指定服务进程,排除gerp身
ps -ef | grep sshd | grep -v grep
# 查找指定进程个数
ps -ef | grep sshd -c

从文件内容查找匹配指定字符串的行:

grep “被查找的字符串” 文件名

例子:在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件

grep “thermcontact” /.in

从文件内容查找与正则表达式匹配的行:

grep –e “正则表达式” 文件名

查找时不区分大小写:

grep –i “被查找的字符串” 文件名

查找匹配的行数:

grep -c “被查找的字符串” 文件名

从文件内容查找不匹配指定字符串的行:

grep –v “被查找的字符串” 文件名

find

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

使用实例:

find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
find /root/ -perm 600   查找/root/目录下权限为600的文件 
find . -type f -name "*.log"  查找当目录,以.log结尾的普通文件 
find . -type d | sort   查找当前所有目录并排序 
find . -size +100M  查找当前目录大于100M的文件

例子:从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 “ERROR” 的行:

find / -type f -name “*.log” | xargs grep “ERROR”

例子:从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 “thermcontact” 的行:

find . -name “*.in” | xargs grep “thermcontact”

whereis

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

使用实例:

# 将和ls文件相关的文件都查找出来
whereis ls

which

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

使用实例:

# 查找pwd命令所在路径
which pwd 
# 查找path中java的路径
which java

五、下载与安装

yum

语法

yum (选项) (参数)

选项:

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

参数:

install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。

yum 常用命令:

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install <package_name>
  • 4.仅更新指定的软件命令:yum update <package_name>
  • 5.列出所有可安裝的软件清单命令:yum list
  • 6.删除软件包命令:yum remove <package_name>
  • 7.查找软件包 命令:yum search
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
上次编辑于:
贡献者: Feny