一、常用快捷键
- ctrl+c: 停止进程
- ctrl+l: 清屏(之前的内容可以向上查看);彻底清屏是:reset
- tab: 提示
- 上下键: 查找执行过的命令
二、文件目录类
1.pwd
显示当前工作目录的绝对路径
2.ls和ll
ll 命令列出的信息更加详细,有时间,是否可读写等信息;ll不是命令,是ls -l的别名
ll会列出该文件下的所有文件信息,包括隐藏的文件;ls 只列出文件名或目录名
(base) [qi@ip--185 q_mcess]$ ll 总用量 3828 -rw-rw-r-- 1 qi qi 1271452 1月 18 02:07 ceshi.gz drwxrwxr-x 3 qi qi 406 1月 13 06:43 conf -rw-rw-r-- 1 qi qi 14 1月 13 06:43 __init__.py
ll -t 是降序, ll -t | tac 是升序
(base) [qi@ip-17-185 q_mcess]$ ls ceshi.gz proceink.py run_pog.sh
ls 命令
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
- -c 输出文件的 i 节点的修改时间,并以此排序。
- -d 将目录象文件一样显示,而不是显示其下的文件。
- -i 输出文件的 i 节点的索引信息。
- -l 列出文件的详细信息。
- -m 横向输出文件名,并以“,”作分格符。
- -n 用数字的 UID,GID 代替名称。
- -o 显示文件的除组信息外的详细信息。
- -q 用?代替不可输出的字符。
- -r 对目录反向排序。
- -s 在每个文件名后输出该文件的大小。
- -t 以时间排序(以最近修改的日期进行排序)
- -u 以文件上次被访问的时间排序。
- -A 显示除 “.”和“…”外的所有文件。
- -B 不输出以 “~”结尾的备份文件。
- -L 列出链接文件名而不是链接到的文件。
- -N 不限制文件长度。
- -Q 把输出的文件名用双引号括起来。
- -R 列出所有子目录下的文件。
- -S 以文件大小排序。
- -X 以文件的扩展名(最后一个 . 后的字符)排序。
- -1 一行只输出一个文件。
- –color=no 不显示彩色文件名
- –help 在标准输出上显示帮助信息。
- –version 在标准输出上输出版本信息并退出。
显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
- 蓝色–>目录
- 绿色–>可执行文件
- 红色–>压缩文件
- 浅蓝色–>链接文件
- 灰色–>其他文件
3.cd
语法 cd [dirName]
用于切换当前工作目录;其中 dirName 表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, … 则表示目前目录位置的上一层目录,-回到上一次所在目录。
跳到目前目录的上上两层 : cd ../..
4.mkdir
创建目录,语法:mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个。
实例
在工作目录下,建立一个名为 runoob 的子目录 :
mkdir runoob
在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)
mkdir -p runoob2/test
5.rmdir
语法 rmdir [-p] dirName
删除空的目录。
参数:
- -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
实例
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
6.touch
创建新文件
7.cp
语法 cp [options] source dest
主要用于复制文件或目录。
参数说明:
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
实例
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
$ cp –r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。
8.rm
用于删除一个文件或者目录。
9.mv
用来为文件或目录改名、或将文件或目录移入其它位置。
语法
mv [options] source dest
mv 参数设置与运行结果
mv source_file(文件) dest_file(文件) 将源文件名 source_file 改为目标文件名 dest_file mv source_file(文件) dest_directory(目录) 将文件 source_file 移动到目标目录 dest_directory 中 mv source_directory(目录) dest_directory(目录) 目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
实例
将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
再如将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:
$ mv /usr/runoob/* .
10.cat
用于连接文件并打印到标准输出设备上。
语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
- -n :由 1 开始对所有输出的行数编号。
- -b :和 -n 相似,只不过对于空白行不编号。
- -s :当遇到有连续两行以上的空白行,就代换为一行的空白行。
实例:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
11.more
以一页一页的形式显示
按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示 。
语法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数:
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
常用操作命令
- Enter 向下1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- q 退出more
12.less
less 支持翻页和搜索,支持向上翻页和向下翻页。
语法:less [参数] 文件
参数说明:
- -e 当文件显示结束后,自动离开
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- /字符串:向下搜索"字符串"的功能;n:向下查找;N:向上查找
- ? 字符串:向上搜索"字符串"的功能 ;n:向下查找;N:向上查找
- b 向上翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- [pagedown]:向下翻动一页
- [pageup]:向上翻动一页
实例
1、ps查看进程信息并通过less分页显示
ps -ef |less
2、查看命令历史使用记录并通过less分页显示
[root@localhost test]# history | less 22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft 23 cd .. 24 scp -r web root@192.168.120.203:/opt/ 25 cd soft 26 ls ……省略……
3、浏览多个文件
less log2013.log log2014.log
说明:
输入 :n后,切换到log2014.log
输入 :p后,切换到log2013.log
附加备注
1.全屏导航
- ctrl + F - 向前移动一屏
- ctrl + B - 向后移动一屏
- ctrl + D - 向前移动半屏
- ctrl + U - 向后移动半屏
2.单行导航 - j - 下一行
- k - 上一行
3.其它导航 - G - 移动到最后一行
- g - 移动到第一行
- q / ZZ - 退出 less 命令
4.其它有用的命令 - v - 使用配置的编辑器编辑当前文件
- h - 显示 less 的帮助文档
- &pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置: - ma - 使用 a 标记文本的当前位置
- 'a - 导航到标记 a 处
13.head
用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
命令格式:
head [参数] [文件]
参数:
- -q 隐藏文件名
- -v 显示文件名
- -c<数目> 显示的字节数
- -n<行数> 显示的行数
例
显示文件前 20 个字节:
head -c 20 runoob_notes.log
14.tail
tail -F /Ming/log/log._pv.2030
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
命令格式:
tail [参数] [文件]
参数:
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
例:要显示 notes.log 文件的最后 10 行,请输入以下命令:
tail notes.log
# 默认显示最后 10 行
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:
tail -f notes.log
此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail -n +20 notes.log
显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log
15.> 覆盖 和 >> 追加
echo “内容” >> 文件
1 将history命令执行的结果保存到history.log文件中
# history > history.log
2 使用 >> 向 hosts.log中追加 当前日期
# echo "当前日期是 `date`" >> hosts.log
16.history
查看已经执行过的命令
三、时间日期类
1.date
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date 可以用来显示或设定系统的日期与时间。
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: %
%H : 小时(00…23)
%M : 分钟(00…59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00…61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
%a : 星期几 (Sun…Sat)
%A : 星期几 (Sunday…Saturday)
%b : 月份 (Jan…Dec)
%B : 月份 (January…December)
%c : 直接显示日期与时间
%d : 日 (01…31)
%D : 直接显示日期 (mm/dd/yy)
%j : 一年中的第几天 (001…366)
%m : 月份 (01…12)
%U : 一年中的第几周 (00…53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0…6)
%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000…9999)
2.加减
date +%Y%m%d //显示现在天年月日
date +%Y%m%d --date="+1 day" //显示后一天的日期
date +%Y%m%d --date="-1 day" //显示前一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期
或者更简单点的 date=date -d -${t}day '+%Y%m%d'
//为t为前几天
YMD=$(date -d"-1 days" +%Y%m%d -u) #前一天
转换成时间戳:$ date +%s -d 20211220
1639958400
转换成日期:$ date -d @1639958400
2021年 12月 20日 星期一 00:00:00 UTC
2.cal
查看日历
四、文件权限类
1.文件属性
在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
(base) q@MacBook-Pro PycharmProjects % ls -l total 0 drwxr-xr-x 7 q staff 224 1 25 17:40 pythonProject drwxr-xr-x 6 q staff 192 1 27 15:55 qini drwxr-xr-x@ 24 q staff 768 1 25 17:40 人工智能
如果没有权限,就会出现减号[ - ]。
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等
- -代表文件
- d 代表目录
- l 链接文档(link file)
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
rxw 作用文件和目录的不同解释
(1)作用到文件:
- [ r ]代表可读(read): 可以读取,查看
- [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
- [ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
- [ r ]代表可读(read): 可以读取,ls 查看目录内容
- [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
- [ x ]代表可执行(execute):可以进入该目录
其中链接数:
- 如果查看到是文件:链接数指的是硬链接个数。
- 如果查看的是文件夹:链接数指的是子文件夹个数(包括隐藏文件夹,使用 ll -a 查 看)。