目录
ls
pwd
cd
touch
mkdir
rmdir
rm
man
cp
mv
cat
more
less
head
tail
grep
date
cal
find
zip、unzip
tar
bc
uname
shutdown
附
ls
- 对于目录,列出目录内所有内容包括目录和文件;
- 对于文件,只列出指定文件;
选项
- -a、--all,不忽略以 . 开头的文件;
- -A、--almost-all,列出所有文件除 . 、.. 以外;
- --color=[WHEN],控制是否使用色彩分辨文件;WHEN 可以是"never"(默认)、"always"或"auto"其中之一;
- -d、--directory,只列出目标本身而不是目录内容;
- -F,--classify,添加文件类型提示符(*可执行的普通文件、/表示目录、@表示符合链接、|表示FIFOs、=表示套接字(sockets));
- -h、--human-readable,与-l一起以易于阅读的格式输出文件大小;
- -i、--inode,显示文件的inode号;
- -m,所有文件以逗号隔开,并填满整行行宽;
- -n,--numeric-uid-gid,类似-l,但列出UID和GID号;
- -g,类似-l,但不列出所有者;
- -G,--no-group,与-l一起以一个长列表的形式,不输出组名;
- -o,类似 -l,但不列出有关组的信息;
- -l,使用长格式列出文件详细信息;
- --author,列出文件作者;
- --block-size=SIZE,以指定单位打印;
- -p,--indicator-style=slash,对目录加上表示符号"/";
- -Q, --quote-name,将文件名称加上双引号;
- -r,--reverse,逆序排列;
- -R,--recursive,递归显示子目录;
- -S,以文件大小排序;
- -t,以修改实际排序;
- -u,同-lt 一起使用按照访问时间排序并显示,同-l一起使用显示访问时间并按文件名排序;
- -X,根据扩展名排序;
- -Z, --context,打印文件的安全上下文;
- -1,每行只列出一个文件;
- --help, 显示此帮助信息并退出;
- --version,显示版本信息并退出;
注:SIZE 可以是一个可选的整数,后面跟着以下单位中的一个: KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y;
//列出当前所有目录
[wz@192 ~]$ ls -d */
pwd
cd
[wz@192 ~]$ cd .. //切换到上一级目录
[wz@192 ~]$ cd ~ //切换到家目录
[wz@192 ~]$ cd - //返回到最近一次访问目录
touch
- 将文件访问时间access和修改时间modify更改为当前时间;
- 无指定的文件将创建空文件;
选项
- -a,只更改访问时间;
- -m,只更改修改时间;
- --time=WORD,access、atime、use 都等于-a,modify、mtime 等于-m;
- -c, --no-create,不创建任何文件;
- -d、--date=字符串,使用指定时间,而非当前时间;
- -t STAMP,使用指定时间,而非当前时间;
注:stat,显示文件或文件系统的状态;
mkdir
选项
- -m、--mode=模式,设置权限(类似chmod);
- -p,--parents,可递归创建多目录(目录不存在不报错);
- -v,--verbose,显示创建目录信息;
[wz@192 ~]$ mkdir -m a=rwx mydir
[wz@192 ~]$ mkdir -p mydir/{dir1,dir2}
rmdir
选项
- -p,--parents,可递归删除多目录(子目录删除后父目录变为空目录);
- -v,--verbose,显示删除目录信息;
rm
选项
- -f,--force,强制删除(忽略不存在的文件,且不提示);
- -i,删除前需确认;
- -I,大写i,删除超过三个文件或递归删除前需确认;
- -d,--dir,删除空目录;
- -r,-R,--recursive,递归删除目录及内容;
- -v,--verbose,显示删除信息步骤;
man
选项
- -a,--all,查找所有匹配的手册页;
- -f, --whatis,等同于 whatis;
- -k, --apropos,等同于 apropos;
注:手册分8章
- 1—可执行程序或shell命令;
- 2—系统调用(内核提供的函数,可查看函数所需头文件);
- 3—库函数;
- 4—设备说明;
- 5—文件格式;
- 6—游戏备用;
- 7—附件;
- 8—系统管理命令,只能由root使用,如ifconfig;
[wz@192 ~]$ man -f mkdir
mkdir (1) - make directories
mkdir (1p) - make directories
mkdir (2) - create a directory
mkdir (3p) - make a directory
[wz@192 ~]$ man -k mkdir
gvfs-mkdir (1) - (未知的主题)
mkdir (1) - make directories
mkdir (1p) - make directories
mkdir (2) - create a directory
mkdir (3p) - make a directory
mkdirat (2) - create a directory relative to a directory file descri...
[wz@192 ~]$ ls /usr/share/man
ca en id man0p man2 man3x man5x man7x man9x pl sk zh_CN
cs es it man1 man2x man4 man6 man8 mann pt sv zh_TW
da fr ja man1p man3 man4x man6x man8x nl pt_BR tr
de hu ko man1x man3p man5 man7 man9 overrides ru uk
--help、help、man、info比较
- --help,外部命令的选项(不是独立工具);
- help,显示内建命令简要帮助信息;
- man,显示系统手册内容,大多数为命令的解释信息;
- info,基于菜单的超文本系统,关于Linux shell、工具、GNU项目开发程序的说明文档;
cp
- 复制文件或目录;
- 如复制两个及以上文件或目录,且最后一个是已存在的目录,则将所有文件或目录复制到该目录中;若最后一个目录不存在,则报错;
选项
- -f,--force,强行复制,如目标文件无法(权限不够等)打开则移除并重试;
- -i,--interactive,覆盖前询问用户;
- -r,-R,--recursive,递归复制目录及其子内容;
mv
选项
- -f,--force,覆盖不询问;
- -i,--interactive,覆盖前询问用户;
- -n,--no-clobber,不覆盖已存在文件;
cat
选项
- -b,--number-nonblank,对非空输出行编号;
- -n,--number,对输出所有行编号;
- -E,--show-ends,输出每行结束处添加“$”;
- -s,--squeeze-blank,不输出多个空行;
[wz@192 Desktop]$ cat > a << aa
> adfaf
> sdfdf
> aa //输入aa表示结束
[wz@192 Desktop]$ cat a
adfaf
sdfdf
//合并文件内容
[wz@192 Desktop]$ cat file1 file2 > file
more
选项
- -num,显示指定行数;
- +num,从指定行号开始显示;
- +/string,从匹配string位置开始显示;
- -s,显示连续空行为一行;
查找
less
选项
- -e,显示结束后,自动离开;
- -g,搜索时,只显示最后关键字;
- -i,忽略搜索时的大小写;
- -m,显示类似more的百分比;
- -N,显示每行行号;
- -s,显示连续空行为一行;
命令内操作
- b,向后翻一页;d,向后翻半页;
- y,向前翻一页;u,向前翻半页;
- 空格键,向前滚动一页;回车键,向前滚动一行;
- h,显示帮助界面;Q,退出;
head
- 显示文件开头内容(默认10行);
- 如指定多个文件,会给出文件名;
- 如不指定文件或“-”,则从标准输入读取数据;
选项
- -c,--bytes=[-]k,显示文件前k字节内容,如添加“-”则显示0-倒数第k字节内容;
- -n,--lines=[-]k,显示文件前k行内容,如添加“-”则显示0-倒数第k行内容;
- -q,--quiet,--silent,不显示文件名;
- -v,--verbose,总是显示文件名;
[wz@VM-4-4-centos ~]$ head -2 02/top.log
top - 23:51:02 up 54 days, 14:42, 2 users, load average: 0.09, 0.06, 0.06
Tasks: 92 total, 3 running, 89 sleeping, 0 stopped, 0 zombie
[wz@VM-4-4-centos ~]$ head -n 2 02/top.log
top - 23:51:02 up 54 days, 14:42, 2 users, load average: 0.09, 0.06, 0.06
Tasks: 92 total, 3 running, 89 sleeping, 0 stopped, 0 zombie
tail
- 显示文件末尾内容(默认10行);
- 如指定多个文件,会给出文件名;
- 如不指定文件或“-”,则从标准输入读取数据;
选项
- -f,--follow[=name],随文件内容增长,输出后续添加的数据(起到实时监控的效果);
- -c,--bytes=k,显示文件尾k字节内容;
- -n,--lines=k,显示文件尾k行内容;
- -q,--quiet,--silent,不显示文件名;
- -v,--verbose,总是显示文件名;
//从第2行开始显示
[wz@VM-4-4-centos ~]$ tail -n +2 02/top.log
//只显示第2行
[wz@VM-4-4-centos ~]$ tail -n +2 02/top.log | head -1
grep
- global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来;
- 一种强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来;
选项
- -i,--ignore-case,不区分大小写;
- -v,--invert-match,显示不匹配的行;
- -m,--max-count=num,匹配的最大数;
- -b,--byte-offset,打印该行所在的块号码;
- -n,--line-number,打印匹配的行号;
- -H,--with-filename,打印文件名;
- -h,--no-filename,不打印文件名;
- -c,--count,打印匹配的行数;
- -w, --word-regexp,匹配整个单词;
- -x, --line-regexp,匹配整行;
- -R, -r, --recursive,递归匹配;
- -L, --files-without-match 匹配多个文件时,显示不匹配的文件名;
- -l, --files-with-matches 匹配多个文件时,显示匹配的文件名;
- -B, --before-context=NUM 打印匹配本身以及前面的几个行由NUM控制;
- -A, --after-context=NUM 打印匹配本身以及随后的几个行由NUM控制;
- -C, --context=NUM,打印匹配本身以及随后的几个行由NUM控制 ;
- -NUM,根-C的用法一样的;
- -E,--extended-regexp,扩展正则表达式;
grep '^\(root\|zhang\)' //匹配以root或zhang开头的行;
grep '^zhang[a-z]*$' //匹配以zhang开头,只含字母;
grep -E '999|888' //过滤999或888行;
grep -E -v '999|888' //过滤不包括999或888行;
date
- 打印或设置系统日期和时间;
- date [option] [+format]
显示格式
- %Y,年份(0000~9999);
- %m,月份(01~12);
- %d,日(01~31);
- %F,相当于(%Y-%m-%d);
- %H,时(00~23);
- %M,分(00~59);
- %S,秒(00~61);
- %X,相当于(%H:%M:%S);
设置时间
- date -s,设置当前时间,只有root有权限,其他用户只可查看;
- date -s 20220220,设置日期,但时间会设置为空;
- date -s 01:01:01,设置时间,日期不影响;
//设置日期和时间
[root@192 ~]# date -s "20220220 01:01:01"
[root@192 ~]# date -s "2022-02-20 01:01:01"
[root@192 ~]# date -s "01:01:01 20220220"
[root@192 ~]# date -s "01:01:01 2022-02-20"
时间戳(从1970-1-1 UTC/GMT的午夜开始所经过的秒数、不考虑润秒);
- 时间->时间戳,date +%s
- 时间戳->时间,date -d@1508749502
[root@192 ~]# date +%s
1645290364
[root@192 ~]# date -d@1645290364
Sun Feb 20 01:06:04 CST 2022
cal
- 显示公历日历;
- cal [options] [[[day] month] year]
选项
- -1,查看当前月份日历;
- -3,查看前月、当月、下月三个月日历;
- -y,查看12个月日历;
- -m,以星期一开头;
- -s,以星期日开头;
find
- 查找目录和文件;
- find path -options
选项
- -name,按照文件名查找;
- -perm,按照文件权限查找;
- -user,按照属主查找;
- -group,按照属组查找;
- -type,按照类型查找;
- -size n[cwbkMG],按文件大小查找;
- -depth,先查找当前目录,在查找其子目录;
- -maxdepth,查找最大目录层数;
- -delete,删除;
//按照名字查找
[wz@192 ~]$ find . -name “file*”
//按照权限查找
[wz@192 ~]$ find . -perm 755
//按照文件类型查找
[wz@192 ~]$ find . -name aa -type f
//查找文件大小大于10M
[wz@192 ~]$ find . -size +10M
//查找以null开头的文件,在执行ls -l
[wz@192 ~]find ./ -name "null_*" -exec ls -l {} \;
zip、unzip
zip
- 压缩目录或文件;
- 是应用广泛的跨平台压缩工具,后缀.zip;
选项
- -c,加注释;
- -m,删除源文件;
- -r,处理目录及其子目录;
- -x,排除文件列表中其他文件;
- -v,显示处理信息;
//压缩文件,并显示处理信息,及删除源文件
[wz@192 ~]$ zip -vm Desktop/file.zip aa ab
adding: aa (in=0) (out=0) (stored 0%)
adding: ab/ (in=0) (out=0) (stored 0%)
total bytes=0, compressed=0 -> 0% savings
zip diagnostic: deleting file aa
deleting directory ab (if empty)
//压缩目标及其内容
[wz@192 Desktop]$ zip -r file.zip a
updating: a/ (stored 0%)
adding: a/b/ (stored 0%)
adding: a/b/c/ (stored 0%)
adding: a/a (stored 0%)
//压缩时排除文件a
[wz@192 Desktop]$ zip file.zip ./* -x ./a
adding: b (stored 0%)
adding: c (stored 0%)
unzip
选项
- -j,不重建目录结构,把所有文件解压到同一目录下;
- -n,不覆盖原有文件;
- -o,不询问用户,直接覆盖原文件;
- -Z,查看压缩信息,但不解压,相当于zipinfo;
- -d 目录,解压到指定目录;
- -x 文件,排除压缩文件中指定文件;
tar
- 解/压缩文件,本身不具备压缩功能,是调用压缩功能实现的;
选项
- -z,--gzip,--gunzip,--unzip,通过gzip过滤归档;
- -j,--bzip2,通过bzip2过滤归档;
- -c,--create,创建新归档;
- -t,--list,查看归档内容;
- -x,--extract,--get,解开压缩文件;
- -v,--verbose,详细列出处理的文件;
- -f,--file=ARCHIVE,使用归档文件或ARCHIVE设备;
- -r,--append,追加文件至归档末尾;
- -u,--update,更新归档文件;
- -p, --preserve-permissions, --same-permissions,解压文件并保留权限信息(默认只为超级用户服务);
- -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE,只保存比 DATE-OR-FILE 更新的文件;
- -C,--directory=目录,解压到指定目录;
//归档压缩
[wz@192 Desktop]$ tar -cvf file.tar file.log //仅归档打包
[wz@192 Desktop]$ tar -zcvf file.tar.gz file.log //打包并以gzip压缩
[wz@192 Desktop]$ tar -jcvf file.tar.gz file.log //打包并以bzip2压缩
[wz@192 Desktop]$ ll -h
-rwxrwxrwx. 1 root root 5.1M Feb 20 12:32 file.log
-rw-rw-r--. 1 wz wz 167K Feb 20 12:36 file.tar.gz
-rw-rw-r--. 1 wz wz 103K Feb 20 12:36 file.tar.bz2
//打包file,但排除file/dir目录
[wz@192 Desktop]$ tar -cvf file.tar file --exclude=file/dir
//查阅压缩文件内容
[wz@192 Desktop]$ tar -ztvf file.tar.gz
-rwxrwxrwx root/root 5242923 2022-02-20 12:32 file.log
[wz@192 Desktop]$ tar -jtvf file.tar.bz2
-rwxrwxrwx root/root 5242923 2022-02-20 12:32 file.log
//解压
[wz@192 Desktop]$ tar -zxvf file.tar.gz //解压到当前目录
[wz@192 Desktop]$ tar -zxvf file.tar.gz -C ./dir //解压到指定目录
[wz@192 Desktop]$ tar -xvf file.tar.gz file1.log //只解压压缩文件内的file1.log
//将/etc打包后,直接解压到当前目录
[wz@192 Desktop]$ tar -cvf - /etc | tar -xvf -
bc
选项
- -i, --interactive,强制交互模式;
- -l,--mathlib,加载强大的数学库;
- -q,--quiet,不输出介绍信息;
[wz@192 Desktop]$ bc -q
2*5
10
quit
[wz@192 Desktop]$ echo 2*5 | bc
10
[wz@192 Desktop]$ echo 'obase=2;12' | bc //进制转换
1100
uname
选项
- -a,all,列出所有信息;
- -s,--kernel-name,输出内核名称;
- -n,--nodename,输出网络节点上的主机名;
- -r,--kernel-release,输出内核发行号;
- -v,--kernel-version,输出内核版本;
- -m,--machine,输出主机硬件架构名称;
- -p,--processor,输出处理器类型;
- -i,--hardware-platform,输出硬件平台;
- -o,--operating-system,输出操作系统名称;
//内核版本
[wz@192 Desktop]$ uname -a
Linux 192.168.37.128 3.10.0-1160.el7.x86_64
#1 SMP Mon Oct 19 16:18:59 UTC 2020
x86_64 x86_64 x86_64
GNU/Linux
//操作系统版本
[wz@VM-4-4-centos ~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
shutdown
选项
- -h,将系统服务停掉后,立即关机;
- -r,将系统服务停掉后,重启,reboot(重启);
- -t sec,过指定秒数后关机;
附
其他命令(扩展)
- 安装和登录命令
- login、shutdown、halt、reboot、install、mount、umount、chsh,exit,last;
- 文件处理命令
- file,mkdir,grep,dd,find,mv,ls,diff,cat,ln;
- 系统管理命令
- df,top,free,quota,at,lp,adduser,groupadd,kill,crontab;
- 网络系统命令
- ifconfig,ip,ping,netstat,telnet,ftp,route,rlogin,rcp,finger,mail,nslookup;
- 系统安全命令
- passwd,su,umask,chgrp,chmod,chown,chatt,sudo ps,who;
- 其他命令
- tar,unzip,gunzip,unarj,mtools,man,unendcode,uudecode;
- which,专门查找命令所在路径;
- whereis,在系统特定路径下,对文档、命令等相关文件的查找;
- whatis,查询一个命令执行什么功能;
- who、w,显示当前已登录的用户信息;
- whoami,显示当前用户名;
- id,显示指定用户相关信息;
重要热键
- [tab]按键,命令补齐和档案补齐功能;
- 关键字+快速按两下tab,会显示关键字开头的所有文件名;
- ctrl+c,当前程序强制停掉;
- ctrl+d,通常表示在键盘输入结束EOF,或用于取代exit;
- history,查看使用过的历史命令;
- ctrl+r,搜索匹配历史命令;
- ctrl+l,清屏;
- exit、logout,退出当前用户;
注:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)