linux基础命令
基础命令: ls man pwd cd mkdir echo touch cp mv rm rmdir cat more less head tail clear poweroff reboot 进阶命令(下一章节): alias unalias uname su hostname history which wc w who whoami ping kill killall pkill seq du df free date pidof ps top ip uptime wget curl tr dd tar grep find ? 命令详解 ? 1. ls 作用:列出文件信息,默认为当前目录下 常用选项: -a: 列出所有的文件,包括所有以.开头的隐藏文件 -d: 列出目录本身,并不包含目录中的文件 -h: 和-l一起使用,文件大小人类易读 -l: 长输出 实例1:列出所有的文件 ? [[email?protected] ~]# ls -a /root . ? ? ? ? ? ? ? ? ? ? ? ? ? ?.bash_logout ? ? ? ? ? ? ? ? ? ?k ? ? ? ? ? ? ? ? ? ? ? ? .pki ? ? ?.viminfo .. ? ? ? ? ? ? ? ? ? ? ? ? ? .bash_profile ? ? ? ? ? ? ? ? ? keys.sh ? ? ? ? ? ? ? ? ? .ssh ? ? ?wordpress .ansible ? ? ? ? ? ? ? ? ? ? .bashrc ? ? ? ? ? ? ? ? ? ? ? ? manpages-zh-1.5.1 ? ? ? ? .tcshrc ? zabbix_agentd.conf apache-tomcat-8.5.35.tar.gz ?.config ? ? ? ? ? ? ? ? ? ? ? ? manpages-zh-1.5.1.tar.gz ?实例2:列出目录 [[email?protected] ~]# ls -d /root /root [[email?protected] ~]# ls -l /root total 85452 -rw-r--r-- 1 root ?root ?9642757 Dec 15 17:44 apache-tomcat-8.5.35.tar.gz -rw-r--r-- 1 root ?root ? ? ? 50 Dec ?2 17:34 auto_ins.retry -rw-r--r-- 1 root ?root ? ? ?259 Dec ?2 17:50 auto_ins.yml -rw------- 1 root ?root ? 293691 Jan ?9 11:26 dead.letter -rw-r--r-- 1 root ?root 75541986 Nov 14 13:58 jenkins-2.138.3-1.1.noarch.rpm -rw-r--r-- 1 root ?root ? ? ? 93 Jan ?9 11:19 k -rw-r--r-- 1 root ?root ? ? ?873 Dec 20 13:11 keys.sh ? 实例4:人类易读 [[email?protected] ~]# ls -lh /root total 8.0K -rw-------. 1 root root 1.2K Feb 26 22:25 anaconda-ks.cfg -rw-r--r--. 1 root root 517 Feb 26 22:36 test.sh ? 2.man 作用:命令帮助使用手册 在man命令帮助信息的界面中,所包含的常用操作按键及其用途如表2-2所示。 表2-2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?man命令中常用按键以及用途 按键 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用处 空格键向下翻一页 PaGe down向下翻一页 PaGe up向上翻一页 home直接前往首页 end直接前往尾页 /从上至下搜索某个关键词,如“/linux” ?从下至上搜索某个关键词,如“?linux” n定位到下一个搜索到的关键词 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? N定位到上一个搜索到的关键词 q退出帮助文档 一般来讲,使用man命令查看到的帮助内容信息都会很长很多,如果读者不了解帮助文档信息的目录结构和操作方法,乍一看到这么多信息可能会感到相当困惑。man命令的帮助信息的结构如表2-3所示。 表2-3 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? man命令帮助信息的结构以及意义 结构名称代表意义 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? NAME命令的名称 SYNOPSIS参数的大致使用方法 DESCRIPTION介绍说明 EXAMPLES演示(附带简单说明) OVERVIEW概述 DEFAULTS默认的功能 OPTIONS具体的可用选项(带介绍) ENVIRONMENT环境变量 FILES用到的文件 SEE ALSO相关的资料 HISTORY ? ? ? ? ? ? ? ? ? ? ? ? ? ? 维护历史与联系方式 ? 3.pwd 显示出当前/活动目录的名称 实例: [[email?protected] ~]# pwd /root ? 4. cd 切换目录 实例1:切换至/tmp目录下 [[email?protected] ~]# cd /tmp [[email?protected] tmp]# pwd /tmp 实例2:切换至上次所处的目录 [[email?protected] tmp]# cd - /root [[email?protected] ~]# pwd /root 实例3:切换至上级目录 [[email?protected] ~]# mkdir -p /1/2/3 [[email?protected] ~]# cd /1/2/3 [[email?protected] 3]# cd .. [[email?protected] 2]# pwd /1/2 实例4:切换至家目录(或者一个cd也可以) [[email?protected] 2]# cd ~ [[email?protected] ~]# pwd /root ? 5. mkdir 创建目录 常用选项: -p: 根据需要创建父目录 实例1: [[email?protected] ~]# mkdir ken [[email?protected] ~]# ls -ld ken drwxr-xr-x 2 root root 6 Jan 13 11:10 ken 实例2: [[email?protected] ~]# mkdir /2/3/2 -p [[email?protected] ~]# ls -ld /2/3/2/ drwxr-xr-x 2 root root 6 Jan 13 11:11 /2/3/2/ ? 6.echo 输出并显示一行文本 常用选项: -e: 允许对下面列出的加反斜线转义的字符进行解释. 实例1: [[email?protected] ~]# echo "this is ken" this is ken 实例2: n换行符,如果不加-e不能进行解释,会当做普通字符进行输出 [[email?protected] ~]# echo "this is ken nnice to meet you" this is ken nnice to meet you [[email?protected] ~]# echo -e "this is ken nnice to meet you" this is ken? nice to meet you 实例3:输出颜色 [[email?protected] ~]# echo -e " 33[32mthis is ken nnice to meet you 33[0m" this is ken? nice to meet you ? 7.touch 修改时间戳 平时都是用来创建普通文件 实例1: [[email?protected] ~]# touch test [[email?protected] ~]# ls -l test -rw-r--r-- 1 kl root 1116 Jan 13 11:16 test ? 8.cp 复制文件和目录 常用选项: -p: 保持属性不变 -r: 递归复制目录 -a: 复制时,尽可能保持文件的结构和属性. 等同于 -dpR ? 实例1:复制文件到目录 [[email?protected] ~]# cp t.sh ken 实例2:复制文件并改名 [[email?protected] ~]# cp t.sh test1.sh 实例3:复制目录 [[email?protected] ~]# cp -a ken ken1 [[email?protected] ~]# cp -r ken ken2 实例4:复制多个文件到目录 [[email?protected] ~]# cp test test1.sh test.sh ken [[email?protected] ~]# ls ken test ?test1.sh ?test.sh ?t.sh ? 9.mv 移动 (改名) 文件 实例1:移动文件到目录 [[email?protected] ~]# mv k ken 实例2:移动多个文件到目录 [[email?protected] ~]# mv {1..4}.sh ken 实例3: 改名 [[email?protected] ~]# mv ken ken3 ? 10.rm 移除文件或者目录 常用选项: -f: ?不作确认提示 -r: ?或者 -R 递归地移除目录树 实例1:删除一个文件 [[email?protected] ~]# rm test rm: remove regular file ‘test’? y 实例2:强制删除文件(不提示) [[email?protected] ~]# rm -f test1.sh? 实例3:删除目录 [[email?protected] ~]# rm ken2 rm: cannot remove ‘ken2’: Is a directory [[email?protected] ~]# rm -rf ken2 ? 11.rmdir 删除空目录 [[email?protected] ~]# rmdir 1.txt [[email?protected] ~]# rmdir ken3 rmdir: failed to remove ‘ken3’: Directory not empty ? 12. cat 连接文件并在标准输出上输出(用于内容较少的) 常用选项: -n: 输出行号 实例1: [[email?protected] ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 实例2: [[email?protected] ~]# echo "this is the first txt" >1 [[email?protected] ~]# echo "this is the second txt" >2 [[email?protected] ~]# cat 1 2 this is the first txt this is the second txt ? 13.more 在显示器上阅读文件的过滤器(查看内容较多的) more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容 [[email?protected] ~]# more /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin named:x:25:25:Named:/var/named:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin --More--(52%) 14. less less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动(pgup键),而且 less 在查看之前不会加载整个文件 ? 15.head 输出文件的开始部分(默认前10行) 常用选项: -n: 指定行 [[email?protected] ~]# head /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin ? 实例2:指定打印行数量 ? [[email?protected] ~]# head -n 5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [[email?protected] ~]# head -5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin ? ? 16. tail 输出文件的末尾部分(默认十行) 常用选项: -f: 当文件增长时,输出后续添加的数据(持续刷新) -n: 指定打印行数量 实例1: 1[[email?protected] ~]# tail -f t.sh 实例2: [[email?protected] ~]# tail -n 5 /etc/passwd lll:x:1003:1003::/root/jjj:/bin/bash kl:x:1004:1004::/root/kl:/bin/bash tt:x:450:450::/home/tt:/bin/bash ken:x:1005:1005::/home/ken:/bin/bash ttt:x:1006:1006::/home/ttt:/bin/bash ? 17. clear 清屏 快捷键ctrl+l ? 18. poweroff 关机 ? 19. reboot 重启 alias unalias uname su hostname history which wc w who whoami ping kill seq du df free date ? 命令详解 ? 1. alias 设置、’查看别名 [[email?protected] ~]# alias? alias cp=‘cp -i‘ alias egrep=‘egrep --color=auto‘ alias fgrep=‘fgrep --color=auto‘ alias grep=‘grep --color=auto‘ alias l.=‘ls -d .* --color=auto‘ alias ll=‘ls -l --color=auto‘ alias ls=‘ls --color=auto‘ alias man=‘man -M /usr/local/manpage/share/man/zh_CN‘ alias mv=‘mv -i‘ alias rm=‘rm -i‘ 实例2:设置别名 [[email?protected] ~]# alias "ken=ls -l" [[email?protected] ~]# ken total 85452 -rw-r--r-- 1 root ?root ? ? ? 22 Jan 13 12:12 1 -rw-r--r-- 1 root ?root ? ? ? 23 Jan 13 12:12 2 drwxr-xr-x 2 root ?root ? ? ? ?6 Jan 13 12:05 2.txt 实例3:取消别名 [[email?protected] ~]# unalias ken [[email?protected] ~]# ken -bash: ken: command not found ? 2.uname 显示输出系统信息 -a:显示所有的信息 -r: 显示操作系统发行版本 实例1: [[email?protected] ~]# uname -a Linux ken 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 实例2: 显示内核版本 [[email?protected] ~]# uname -r 3.10.0-862.el7.x86_64 ? 3.su 运行替换用户和组标识的shell 实例1: -:使得shell为可登录的shell [[email?protected] ~]# su - ken Last login: Fri Jan 11 11:27:19 CST 2019 on pts/0 ? 退出 [[email?protected] ~]$ exit logout ? 4. hostname 显示并设置主机名 为什么要修改主机名? 是为了名称解析(/etc/hosts) ? hostname修改的主机名只是保存在了内存空间,就是说你重启系统就会失效! 实例1:显示主机名 [[email?protected] ~]# hostname ken 实例2:设置主机名(重启失效) [[email?protected] ~]# hostname ken1 ?hostnamectl set-hostname 别名? 5.history 查看历史命令 实例1: [[email?protected] ~]# history ?实例2:使用!加上上一个命令的缩写可以再次执行 6. which 显示命令的完整路径 实例1: [[email?protected] ~]# which ls alias ls=‘ls --color=auto‘ ? ? /usr/bin/ls ? 7.wc 统计文本信息 常用选项: -c: 字节 -w: 单词数量 -l: 统计行数 c(haracter) w(ord) l(ine) 实例1: [[email?protected] ~]# cat /etc/passwd | wc -l 38 实例2: [[email?protected] ~]# echo "this is ken" | wc -c 12 实例3: [[email?protected] ~]# echo "this is ken" | wc -w 3 ? 8.w 显示已经登录的用户以及他们在做什么 实例: ? [[email?protected] ~]# w ?13:04:06 up 2 days,?3:30,?7 users,?load average: 0.61,0.16,0.09 USER ? ? TTY ? ? ?FROM ? ? ? ? ? ? [email?protected] ? IDLE ? JCPU ? PCPU WHAT root ? ? tty1 ? ? ? ? ? ? ? ? ? ? ?Mon19 ? ?3days ?1.35s ?0.02s -bash root ? ? pts/0 ? ?172.20.10.4 ? ? ?09:47 ? ?1:44m ?0.16s ?0.00s less -s root ? ? pts/1 ? ?172.20.10.4 ? ? ?10:34 ? ?1:43m ?0.02s ?0.02s -bash root ? ? pts/2 ? ?172.20.10.4 ? ? ?12:00 ? 20:38 ? 0.15s ?0.15s -bash root ? ? pts/3 ? ?172.20.10.4 ? ? ?12:00 ? 15:02 ? 0.03s ?0.03s -bash root ? ? pts/4 ? ?172.20.10.4 ? ? ?13:03 ? ?6.00s ?0.04s ?0.01s w root ? ? pts/5 ? ?172.20.10.4 ? ? ?13:03 ? 11.00s ?0.02s ?0.02s -bash ? ? USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。 ?TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。 ?FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本模式登录的。 ?[email?protected]:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。 ?IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。 ?JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。每当进程结束就停止计时,开始新的进程则会重新计时。 ?PCPU:表示cpu执行程序消耗的时间。 ?WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。 ? 9. who [[email?protected] ~]# who root ? ? tty1 ? ? ? ? 2019-01-07 19:24 root ? ? pts/0 ? ? ? ?2019-01-13 09:47 (172.20.10.4) root ? ? pts/1 ? ? ? ?2019-01-13 10:34 (172.20.10.4) root ? ? pts/2 ? ? ? ?2019-01-13 12:00 (172.20.10.4) root ? ? pts/3 ? ? ? ?2019-01-13 12:00 (172.20.10.4) root ? ? pts/4 ? ? ? ?2019-01-13 13:03 (172.20.10.4) root ? ? pts/5 ? ? ? ?2019-01-13 13:03 (172.20.10.4) ? ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |