文章目录
文件夹
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