Linux基础命令

文件夹

Linux命令命令解释
cd 路径进入指定的文件夹
cd …返回上级目录
.当前文件夹
cd …/…/向上返回两级目录(…/有几个就是向上返回几级目录)
mkdir [-mp] 目录名创建文件夹,使用-m选项自定义目录权限,使用-p选项递归建立目录
rmdir [-p] 目录名删除空目录,使用-p选项递归删除空目录
pwd查看当前文件夹
find 目录名 -name 文件名在指定目录下查找文件

rm [选项] 文件或目录

删除文件夹或文件。
r选项,递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
i选项,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
f选项,系统将不再询问,而是直接删除目标文件或目录。

ls [选项] 目录名称

-a	显示全部的文件,包括隐藏文件(开头为 . 的文件)也列出来。
-A	显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。
-d	仅列出目录本身,而不是列出目录内的文件数据。
-f	ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。
-F	在文件或目录名后加上文件类型的指示符号。例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。
-i	显示 inode 节点信息。
-l	使用长格式列出文件和目录信息。
-n	以 UID 和 GID 分别代替文件用户名和群组名显示出来。
-r	将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
-R	连同子目录内容一起列出来,等于将该目录下的所有文件都显示出来。
-S	以文件容量大小排序,而不是以文件名排序。
-t	以时间排序,而不是以文件名排序。
--color=never	never 表示不依据文件特性给予颜色显示。
--color=always	always 表示显示颜色,ls 默认采用这种方式。
--color=auto	auto 表示让系统自行依据配置来判断是否给予颜色。
--full-time	以完整时间模式 (包含年、月、日、时、分)输出
--time={atime,ctime}	输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。

文件

vi/vim

vi有3个模式:编辑模式、命令模式、末行模式。

编辑模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
末行模式:可以保存文件、退出vi、设置vi、查找等功能

一、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename // 打开filename文件
:w // 保存文件
:q // 退出编辑器,如果文件已修改请使用下面的命令
:q! // 退出编辑器,且不保存
:wq // 退出编辑器,且保存文件

二、插入文本或行

a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
R //替换(覆盖)当前光标位置及后面的若干文本
J //合并光标所在行及下一行为一行

三、移动光标

1、使用上下左右方向键

2、命令模式下:h 向左、j 向下 、k 向上、l 向右。空格键 向右、Backspace 向左、Enter移动到下一行首、- 移动到上一行首。

四、删除、恢复字符或行

x //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前行
ndd //向下删除当前行在内的n行
u //撤销上一步操作
U //撤销对当前行的所有操作

五、搜索

/str //向光标下搜索str字符串
?str //向光标上搜索str字符串
n //向下搜索前一个搜素动作
N //向上搜索前一个搜索动作

六、设置行号

:set nu //显示行号
:set nonu //取消显示行号

七、复制、粘贴

yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到行首的内容。
y$ //复制从光标到行尾的内容。
p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

八、替换

:s/old/new    //用new替换行中首次出现的old
:s/old/new/g     //用new替换行中所有的old
:n,m s/old/new/g   //用new替换从n到m行里所有的old
:%s/old/new/g    //用new替换当前文件里所有的old

九、编辑其他文件

:e otherfilename //编辑文件名为otherfilename的文件。

十、修改文件格式

:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

touch

touch [选项] 文件名或目录名
创建文件和修改文件或者目录的时间戳
-a	只修改文件的access(访问)时间.
-c	不创建不存在的文件。
-d	使用指定的日期时间,而非现在的时间
-m	指修改Modify(修改)时间,而不修改access(访问)时间
-r file	使用指定file文件的时间戳(access,modify)更新文件的时间戳(access,modify)
注:access 表示最后一次访问(仅仅是访问,没有改动)文件的时间
modify 表示最后一次修改文件的时间
change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等
-t	将时间修改为参数指定的日期,如:07081556代表7月8号15点56分

stat [选项] 文件名

-L, --dereference:跟随符号链接解析原文件而非符号链接;
-f, --file-system:显示文件所在文件系统信息而非文件信息;
-c,--format=FORMAT:以指定格式输出,而非默认格式;
	显示文件信息可用格式控制符如下:
	%a:以八进制显示访问权限
	%A:以可读形式显示访问权限
	%b:显示占有块数
	%B:显示每一块占有的字节数
	%C:SELinux security context string
	%d:十进制显示文件所在设备号
	%D:十六进制显示文件所在设备号
	%f:十六进制显示文件类型
	%F:文件类型。Linux下文件类型主要分为普通文件、目录、字符设备文件、块设备文件、符号链接文件、套接字等
	%g:文件所有者组ID
	%G:文件所有者组名称
	%h:文件硬链接数
	%i:inode号
	%m:文件所在磁盘分区挂载点,比如/data
	%n:文件名称
	%N:单引号括起来的文件名称,如果是软链接,则同时显示指向的文件名称
	%o:optimal I/O transfer size hint
	%s:实际文件大小,单位字节
	%t:major device type in hex, for character/block device special files
	%T:minor device type in hex, for character/block device special files
	%u:所有者用户ID
	%U:所有者用户名称
	%w:文件创建时间,输出-表示无法得知
	%W:文件创建时间,输出Unix时间戳,0表示无法得知
	%x:可读形式输出最后访问时间atime
	%X:Unix时间戳输出最后访问时间atime
	%y:可读形式输出最后修改时间mtime
	%Y:Unix时间戳输出后修改时间mtime
	%z:可读形式输出最后状态改变时间ctime
	%Z:Unix时间戳输出最后状态改变时间ctime

	显示文件系统信息可用格式控制符有:
	%a:非超级用户可使用的自由block数
	%b:文件系统总block数
	%c:文件系统总文件节点数
	%d:可用文件节点数
	%f:可用文件block数
	%i:十六进制文件系统ID
	%l:最大文件名称长度
	%n:文件名称
	%s:一个块的大小,单位字节(for faster transfers)
	%S:一个块的基本大小,单位字节(用于统计block的数量)
	%t:十六进制输出文件系统类型
	%T:可读形式输出文件系统类型
--printf=FORMAT:以指定格式输出,而非默认格式。与--format作用类似,但可以解释反斜杠转义字符,比如换行符\n;
-t, --terse:简洁模式输出,只显示摘要信息;
--help:显示帮助信息;
--version:显示版本信息。

cat

cat 文件名列表	查看文件名列表中文件的内容
cat > 文件名    从键盘创建一个文件,并等待用户输入,之后使用ctrl+d将内容保存在文件中
cat 文件名列表 > 新文件名	将文件名列表中的文件合并为一个新文件,内容以文件在列表中的顺序合并
cat [-AbeEnstTuv] [--help] [--version] fileNames	链接若干文件将其内容显示到屏幕或输出到一个指定文档,文档不存在时创建文件
A	等价于-vET
b	与n相似,区别在于对于空白行不编号
E	在每行结束处显示$
n	由1开始对所有输出的行数编号
s	当遇到有连续两行以上的空白行,就替换为一行的空白行
t	等价于-vT选项
T	将TAB字符显示为^I

复制移动

cp

cp [选项] 源文件 目标文件
-a:相当于 -d、-p、-r 选项的集合;
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
-i:询问,如果目标文件已经存在,则会询问是否覆盖;
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
-r:递归复制,用于复制目录;
-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

mv

mv [选项] 源文件 目标文件
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程;
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;

打包与压缩

tar

tar [-zcvf] 压缩包名 被压缩文件名	用于压缩压缩包
tar [-zxvf] 被解压文件名 [-C 解压位置路径]	用于解压压缩包(解压时可以选择目标位置,默认为当前文件夹)
z	指定压缩格式为gzip压缩
x	指定本次操作为解压
c	指定本次操作为压缩
v	要求显示详细信息
f	指定被操作文件名
C	用于指定解压路径

zip

zip [选项] 压缩包名 源文件或源目录列表
-r	递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。
-m	将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。
-v	显示详细的压缩过程信息。
-q	在压缩的时候不显示命令的执行过程。
-压缩级别	压缩级别是从 1~9 的数字,1代表压缩速度更快,9代表压缩效果更好。
-u	更新压缩文件,即往压缩文件中添加新文件。

gzip

gzip [选项] 源文件
-c	将压缩数据输出到标准输出中,并保留源文件。
-d	对压缩文件进行解压缩。
-r	递归压缩指定目录下以及子目录下的所有文件。
-v	对于每个压缩和解压缩的文件,显示相应的文件名和压缩比。
-l	对每一个压缩文件,显示以下字段:
	压缩文件的大小;
	未压缩文件的大小;
	压缩比;
	未压缩文件的名称。
-数字	用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。

gunzip

gunzip [选项] 文件
-r	递归处理,解压缩指定目录下以及子目录下的所有文件。
-c	把解压缩后的文件输出到标准输出设备。
-f	强制解压缩文件,不理会文件是否已存在等情况。
-l	列出压缩文件内容。
-v	显示命令执行过程。
-t	测试压缩文件是否正常,但不对其做解压缩操作

bzip2

bzip2 [选项] 源文件
-d	执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。
-k	bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。
-f	bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。
-t	测试压缩包文件的完整性。
-v	压缩或解压缩文件时,显示详细信息。
-数字	这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高

bunzip2

bunzip2 [选项] 源文件
-k	解压缩后,默认会删除原来的压缩文件。若要保留压缩文件,需使用此参数。
-f	解压缩时,若输出的文件与现有文件同名时,默认不会覆盖现有的文件。若要覆盖,可使用此选项。
-v	显示命令执行过程。
-L	列出压缩文件内容。

防火墙

Linux命令命令解释
firewall-cmd --state查看防火墙状态
firewall-cmd --query-port=端口号/tcp查看端口放行状态
firewall-cmd --zone=public --add-port=8080/tcp --permanent放行指定端口
firewall-cmd --reload重新载入防火墙配置
service iptables status查看防火墙状态
service iptables stop关闭防火墙
service iptables restart重启防火墙
systemctl start firewalld.service开启防火墙
systemctl restart firewalld.service重启防火墙
systemctl status firewalld查看防火墙状态
systemctl stop firewalld临时关闭防火墙
systemctl disable firewalld永久关闭防火墙
systemctl enable firewalld重启防火墙
systemctl [start|stop|restart|enable|disable|status] 服务名举例:systemctl start firewalld 启动防火墙服务|[启动|关闭|重新启动|开机自启动|禁止开机自启动|查询状态] 服务名
chkconfig iptables on开机自启
chkconfig iptables off开机不自启
firewall-cmd --list-all查看所有的端口号

IP

Linux命令命令解释
ifconfig查看IP地址
ip addr查看IP地址

netstat

网络状态查看命令,可以查看到本机开启的端口及有哪些客户端连接。
netstat [选项]
-a:列出所有网络状态,包括Socket程序。
-c:秒数,指定每隔几秒刷新一次网络状态。
-n:使用IP地址和端口号显示,不使用域名与服务名。
-p:显示PID和程序名。
-t:显示使用TCP协议端口的连接状况。
-u:显示使用UDP协议端口的连接状况。
-I:仅显示监听状态的连接。
-r:显示路由表。
netstat -ano | grep port	查看占用指定端口的进程ID

查看服务

Linux命令命令解释
ps -ef | grep 服务名查看服务是否在运行
rpm -qa | grep 服务查看服务的安装包
lsof -i:端口号查看端口占用
netstat -tunlp|grep 端口号查看tcp、udp端口占用
kill pid杀死指定进程

YUM

Linux命令命令解释
检索所有的安装包检索所有的安装包
yum list | grep packagename检索指定的安装包(grep关键字用于检索条件)
yum [-y] install 服务名安装指定服务(-y选项代表是否自动跳过询问)
yum [-y] update 服务名更新指定的服务(-y选项代表是否自动跳过询问)
yum [-y] remove 服务名卸载指定的服务(-y选项代表是否自动跳过询问)
yum list installed | grep openssh-server检查是否安装ssh服务

RPM

Linux命令命令解释
rpm -q 包名查询软件包是否安装
rpm -qa查询系统中所有安装的软件包
rpm -qi 包名查询软件包的详细信息
rpm -ql 包名查询软件包的文件列表
rpm -qf 系统文件名查询系统文件属于哪个RPM包
rpm -qR 包名查询软件包的依赖关系

用户

Linux命令命令解释
who查看当前登录用户
whoami查看当前登录用户

Other

Linux命令命令解释
:/关键词在文件中搜索指定词
./softwarename.sh运行指定的可执行文件(.sh文件相当于Windows的.exe文件)
kill PID杀死指定的进程(PID是进程ID号)
nautilus 路径在命令行中打开文件夹
reboot重新启动Linux OS
ssh -V查看ssh版本信息
rz用于上传文件(用在远程连接上,会弹出一个窗口用于选定文件)
sz 文件名用于将指定的文件下载到windows默认下载位置
source 配置文件路径使配置文件重新生效
clear 清屏clear 清屏
exit 退出exit 退出

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值