0
点赞
收藏
分享

微信扫一扫

Linux —— 基本指令

北溟有渔夫 2022-02-20 阅读 128
linux

目录

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 

  • 对于目录,列出目录内所有内容包括目录和文件;
  • 对于文件,只列出指定文件;

选项

  • -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 */
  • 打印用户当前目录;
  • 切换工作目录;
[wz@192 ~]$ cd .. //切换到上一级目录
[wz@192 ~]$ cd ~ //切换到家目录
[wz@192 ~]$ cd - //返回到最近一次访问目录
  • 将文件访问时间access和修改时间modify更改为当前时间;
  • 无指定的文件将创建空文件;

选项

  • -a,只更改访问时间;
  • -m,只更改修改时间;
  • --time=WORD,access、atime、use 都等于-a,modify、mtime 等于-m; 
  • -c, --no-create,不创建任何文件;
  • -d、--date=字符串,使用指定时间,而非当前时间;
  • -t STAMP,使用指定时间,而非当前时间;

注:stat,显示文件或文件系统的状态;

  • 创建目录;

选项

  • -m、--mode=模式,设置权限(类似chmod);
  • -p,--parents,可递归创建多目录(目录不存在不报错);
  • -v,--verbose,显示创建目录信息;
[wz@192 ~]$ mkdir -m a=rwx mydir
[wz@192 ~]$ mkdir -p mydir/{dir1,dir2}
  • 删除空目录;

选项

  • -p,--parents,可递归删除多目录(子目录删除后父目录变为空目录);
  • -v,--verbose,显示删除目录信息;
  • 删除文件或目录;

选项

  • -f,--force,强制删除(忽略不存在的文件,且不提示);
  • -i,删除前需确认;
  • -I,大写i,删除超过三个文件或递归删除前需确认;
  • -d,--dir,删除空目录;
  • -r,-R,--recursive,递归删除目录及内容;
  • -v,--verbose,显示删除信息步骤;
  • 查看Linux手册页命令帮助;

选项

  • -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项目开发程序的说明文档;
  • 复制文件或目录;
  • 如复制两个及以上文件或目录,且最后一个是已存在的目录,则将所有文件或目录复制到该目录中;若最后一个目录不存在,则报错;

选项

  • -f,--force,强行复制,如目标文件无法(权限不管等)打开则移除并重试;
  • -i,--interactive,覆盖前询问用户;
  • -r,-R,--recursive,递归复制目录及其子内容;
  • 重命名文件/目录,或移动到目标目录中;

选项

  • -f,--force,覆盖不询问;
  • -i,--interactive,覆盖前询问用户;
  • -n,--no-clobber,不覆盖已存在文件;
  • 查看目标文件的内容;

选项

  • -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
  • 过滤器,用于分页显示文本(只能向后查看);

选项

  • -num,显示指定行数;
  • +num,从指定行号开始显示;
  • +/string,从匹配string位置开始显示;
  • -s,多行压缩为一行显示;
  • 与more类似,但可通过翻页键查看上下页内容;

选项

  • -e,显示结束后,自动离开;
  • -g,搜索时,只显示最后关键字;
  • -i,忽略搜索时的大小写;
  • -m,显示类似more的百分比;
  • -N,显示每行行号;
  • -s,显示连续空行为一行;

命令内操作

  • b,向后翻一页;d,向后翻半页;
  • y,向前翻一页;u,向前翻半页;
  • 空格键,向前滚动一页;回车键,向前滚动一行;
  • h,显示帮助界面;Q,退出;

  • 显示文件开头内容(默认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
  • 显示文件末尾内容(默认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
  • 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的用法一样的;
grep '^\(root\|zhang\)' //匹配以root或zhang开头的行;
grep '^zhang[a-z]*$' //匹配以zhang开头,只含字母;

  • 打印或设置系统日期和时间;
  • 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 [options] [[[day] month] year]

选项

  • -1,查看当前月份日历;
  • -3,查看前月、当月、下月三个月日历;
  • -y,查看12个月日历;
  • -m,以星期一开头;
  • -s,以星期日开头;
  • 查找目录和文件;
  • find path -options 

选项

  • -name,按照文件名查找;
  • -perm,按照文件权限查找;
  • -user,按照属主查找;
  • -group,按照属组查找;
  • -type,按照类型查找;
    • b - 块设备文件。
      d - 目录。
      c - 字符设备文件。
      p - 管道文件。
      l - 符号链接文件。
      f - 普通文件。
      s - socket文件
  • -size n[cwbkMG],按文件大小查找;
    • c: 表示字节数
      w: 字 (2字节)
      b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b) 
      k: 表示 kilo bytes (1024字节) 
      M: 兆字节(1048576字节) 
      G: 千兆字节 (1073741824字节)
      
  • -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

  • 压缩目录或文件;
  • 是应用广泛的跨平台压缩工具,后缀.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

  • 解压.zip文件;

选项

  • -j,不重建目录结构,把所有文件解压到同一目录下;
  • -n,不覆盖原有文件;
  • -o,不询问用户,直接覆盖原文件;
  • -Z,查看压缩信息,但不解压,相当于zipinfo;
  • -d 目录,解压到指定目录;
  • -x 文件,排除压缩文件中指定文件;
  • 解/压缩文件,本身不具备压缩功能,是调用压缩功能实现的;

选项

  • -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 -
  • 简单计算器,可进行进制转换;

选项

  • -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
  • 获取电脑和操作系统的相关信息,默认选项-s;

选项

  • -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
  • 关机

选项

  • -h,将系统服务停掉后,立即关机;
  • -r,将系统服务停掉后,重启;
  • -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;

重要热键

  • [tab]按键,命令补齐和档案补齐功能;
  • ctrl+c,当前程序强制停掉;
  • ctrl+d,通常表示在键盘输入结束EOF,或用于取代exit;

举报

相关推荐

0 条评论