Linux常用命令详解(1)

二次信任 提交于 2019-11-28 10:10:42

基础命令:
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:列出所有的文件

复制代码
[root@ken ~]# 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  test
复制代码

实例2:列出目录

[root@ken ~]# ls -d /root
/root

实例3:长输出

复制代码
[root@ken ~]# 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:人类易读

[root@ken ~]# 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

显示出当前/活动目录的名称

实例:

[root@ken ~]# pwd
/root

 

4. cd

切换目录

实例1:切换至/tmp目录下

[root@ken ~]# cd /tmp
[root@ken tmp]# pwd
/tmp

实例2:切换至上次所处的目录

[root@ken tmp]# cd -
/root
[root@ken ~]# pwd
/root

实例3:切换至上级目录

[root@ken ~]# mkdir -p /1/2/3
[root@ken ~]# cd /1/2/3
[root@ken 3]# cd ..
[root@ken 2]# pwd
/1/2

实例4:切换至家目录(或者一个cd也可以)

[root@ken 2]# cd ~
[root@ken ~]# pwd
/root

 

5. mkdir

创建目录

常用选项:

-p: 根据需要创建父目录

实例1:

[root@ken ~]# mkdir ken
[root@ken ~]# ls -ld ken
drwxr-xr-x 2 root root 6 Jan 13 11:10 ken

实例2:

[root@ken ~]# mkdir /2/3/2 -p
[root@ken ~]# ls -ld /2/3/2/
drwxr-xr-x 2 root root 6 Jan 13 11:11 /2/3/2/

 

6.echo

输出并显示一行文本

常用选项:

-e: 允许对下面列出的加反斜线转义的字符进行解释.

实例1:

[root@ken ~]# echo "this is ken"
this is ken

实例2:

\n换行符,如果不加-e不能进行解释,会当做普通字符进行输出

[root@ken ~]# echo "this is ken \nnice to meet you"
this is ken \nnice to meet you
[root@ken ~]# echo -e "this is ken \nnice to meet you"
this is ken 
nice to meet you

实例3:输出颜色

[root@ken ~]# echo -e "\033[32mthis is ken \nnice to meet you\033[0m"
this is ken 
nice to meet you

 

7.touch

修改时间戳

平时都是用来创建普通文件

实例1:

[root@ken ~]# touch test
[root@ken ~]# ls -l test
-rw-r--r-- 1 kl root 1116 Jan 13 11:16 test

 

8.cp

复制文件和目录

常用选项:

-p: 保持属性不变

-r: 递归复制目录

-a: 复制时,尽可能保持文件的结构和属性. 等同于 -dpR

 

实例1:复制文件到目录

[root@ken ~]# cp t.sh ken

实例2:复制文件并改名

[root@ken ~]# cp t.sh test1.sh

实例3:复制目录

[root@ken ~]# cp -a ken ken1
[root@ken ~]# cp -r ken ken2

实例4:复制多个文件到目录

[root@ken ~]# cp test test1.sh test.sh ken
[root@ken ~]# ls ken
test  test1.sh  test.sh  t.sh

 

9.mv

移动 (改名) 文件

实例1:移动文件到目录

[root@ken ~]# mv k ken

实例2:移动多个文件到目录

[root@ken ~]# mv {1..4}.sh ken

实例3: 改名

[root@ken ~]# mv ken ken3

 

10.rm

移除文件或者目录

常用选项:

-f:  不作确认提示

-r:  或者 -R 递归地移除目录树

实例1:删除一个文件

[root@ken ~]# rm test
rm: remove regular file ‘test’? y

实例2:强制删除文件(不提示)

[root@ken ~]# rm -f test1.sh

实例3:删除目录

[root@ken ~]# rm ken2
rm: cannot remove ‘ken2’: Is a directory
[root@ken ~]# rm -rf ken2

 

11.rmdir

删除空目录

[root@ken ~]# rmdir 1.txt
[root@ken ~]# rmdir ken3
rmdir: failed to remove ‘ken3’: Directory not empty

 

12. cat

连接文件并在标准输出上输出(用于内容较少的)

常用选项:

-n: 输出行号

实例1:

[root@ken ~]# 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:

[root@ken ~]# echo "this is the first txt" >1
[root@ken ~]# echo "this is the second txt" >2
[root@ken ~]# cat 1 2
this is the first txt
this is the second txt

 

13.more

在显示器上阅读文件的过滤器(查看内容较多的)

more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容

实例1:

复制代码
[root@ken ~]# 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: 指定行

实例1:默认打印十行

复制代码
[root@ken ~]# 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:指定打印行数量

复制代码
[root@ken ~]# 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

[root@ken ~]# 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
[root@ken ~]# tail -f t.sh

实例2:

[root@ken ~]# 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

重启

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!