Linux基础命令

一、Linux注意事项

1.Linux命令和参数必须用空格隔开,多少个空格无所谓。

2.Linux命令区分大小写

3.命令错误的三种情况

(1)command not found 命令没找到

(2)命令敲错了

(3)命令未安装

二、Linux命令类型

1.type命令

可以用type命令查看,例如查看ping是什么类型的命令:

type ping

Linux基础命令_第1张图片

主要分为:

  • alias:表示是别名。
  • keyword:关键字,shell 保留字。
  • function:函数,shell 函数。
  • builtin:内置命令。
  • file:文件,外部命令。
  • :空表示没找到。

三、查询Linux命令

1.help命令

用来查看内置命令的帮助文档

例如查看内置命令cd的帮助文档:

help cd

2.man命令

用来查看外部命令的帮助文档

例如查看ping命令的帮助文档:

man ping

(3)百度大法

四、Linux常见命令

1.whereis命令

查找命令的文件位置,例如查找命令cd位置

2.file命令

查看命令的类型,例如查看cd的命令:

Linux基础命令_第2张图片

3.who

查看当前在线的用户

4.whoami

查看当前用户

Linux基础命令_第3张图片

5.pwd

查看当前所在文件位置

Linux基础命令_第4张图片

6.uname -a

查看内核信息

7.clear

清屏

Linux基础命令_第5张图片

回车后

Linux基础命令_第6张图片

8.history

查看历史命令

Linux基础命令_第7张图片

9.ls

ls -a -l -h Linux路径

(1) 直接使用ls,不加选项和参数。

ls

将会以平铺形式,列出当前文件夹下的内容:

(2)加上参数

ls /

将会列出/目录下的内容。

-a选项

将会显示以.号开始的隐藏文件。不使用-a选项,这些文件会自动隐藏。

-l选项

将会以列表形式列出文件。还会展现出权限、用户和用户组等信息。

-h选项

以易于阅读的形式,列出文件大小。-h必须搭配-l使用。

10.cd

cd Linux路径

cd命令会切换工作目录change directory到该Linux路径,如果没有参数,切换到当前用户的家目录。

另外,cd..可以回退到上一级目录,cd../..回退到上二级,……

11.pwd

pwd

无选项和参数。作用是print work directory打印当前所在的工作目录。

12.mkdir

mkdir -p Linux路径

参数必填,-p选项可选,表示自动创建不存在的父目录,适用于创建多层级的目录。

创建文件夹需要权限,home目录外无法直接创建。

13.touch

touch Linux路径

创建文件。

14.cat

cat Linux路径

查看文件内容。内容将会直接全部显示出来。

15.more

more Linux路径

支持翻页查看文件内容。

使用空格翻页,按q退出查看。

16.cp

cp -r 参数1 参数2

复制文件或者文件夹。

参数1,Linux路径,表示被复制的文件或文件夹

参数2,Linux路径,表示要被复制去的地方

-r选项可选,用于复制文件夹使用,表示递归

17.mv

mv 参数1 参数2

参数1,Linux路径,表示被移动的文件或者文件夹

参数2,Linux路径,表示要移动的地方,如果目标不存在,则进行改名,确保目标存在。

18.rm

rm -r-f 参数1 参数2 …… 参数N

删除文件或着文件夹。支持通配符*。

-r用于删除文件夹,-f强制删除,不会弹出消息提示。

普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示。

所以一般用户用不到-f选项。

参数1 参数2 …… 参数N表示要删除的文件或者文件夹路径。

19.which

which 命令名称

通过which命令,查看命令的程序文件放在那里。

20.find

find 起始路径 -name “被查找文件名”

从起始地址查找文件。支持通配符*。

另外注意,双引号是需要加的。

find 起始路径 -size +或者-n[kMG] 

+和-表示大于或小于。n表示大小数字。

KMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB。

21.grep

grep -n 关键字 文件路径

从文件中通过关键字过滤文件行。

选项-n可选,表示在结果中显示匹配的行的行号。

关键字必填,带有空格或其他特殊符号建议用“”将关键字括进去

文件路径必填,且可用于内容输入端,配合管道符使用。

22.wc

wc -c -m -l -w 文件路径

统计文件的行数,单词数量等。

-l,统计行数

-w,统计单词数量

-c,统计bytes数量

-m,统计字符数量

直接写wc 文件路径会依次显示前三项。

23.echo

echo 输出的内容

在命令行输出内容,内容如果复杂建议加“”;

另外,输出内容为用飘号``阔进去的命令可将命令的结果输出到命令行。

24.重定向符

>将左侧命令的结果,覆盖写入到符号右侧指定的文件中将左侧命令的结果。

>追加写入到符号右侧指定的文件中。

例如:

echo abc > abc.txt

用abc将abc.txt原来的内容覆盖。

25.tail

tail -f -num Linux路径

查看文件尾部内容,跟踪文件的最新更改。

-f表示持续跟踪

-num 查看尾部多少行(这个num是一个自己决定数字,而不是真的填num),不填数字的话,默认10行。

26.su

su - 参数

 -表示是否在切换用户后加载环境变量。

参数表示要切换的用户名。

切换后可用exit命令退回原来的用户,或着按ctrl+d。

另外该参数或者也可以是其他的命令,表示为这一条命令赋予root权限。但不是所有用户都能使用这个命令,用户需要被配置sudo认证。配置方法:

Linux基础命令_第8张图片

下面是vi/vim文本编辑器的命令:

27.vi/vim

vi/vim Linux路径

如果文件路径表示的文件不存在,那么此命令会用于创建并编辑新文件。
如果文件路径表示的文件存在,那么此命令用于编辑已有文件。

快捷键:

gg    光标定位到文件开始位置
Shift+g 光标定位到文件结尾位置

dd    删除当前光标所在的一整行
dG    删除光标所在行到文本的结束
ndd   删除光标处开始的 n 行

yy    复制当前光标所在的一整行
yG    复制光标所在行到文本的结束
nyy   复制当前光标所在向下的n行
p     粘贴

u    撤回
ctrl+c 反撤回

Linux基础命令_第9张图片

三种模式:

命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。


输入模式( Insert mode)
也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。 此模式下,可以对文件内容进行自由编辑。


底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
 

Linux中关于权限的管控级别有2个级别,分别是:

1.针对用户的权限控制

2.针对用户组的权限控制

因此,针对某文件,可以控制用户的权限,也可以控制用户组的权限。因此Linux系统可以:

1.配置多个用户

2.配置多个用户组

3.用户可以加入用户组中

1.用户组管理

28.groupadd

groupadd 用户组名

创建用户组

29.groupdel

groupdel 用户组名

删除用户组

30.getent

getent group

查看当前系统中有哪些组,另外会显示下面的信息。 

2.用户管理

31.useradd

useradd -g-d 用户名

创建用户 

-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g必须组已存在,同名组存在必须使用-g。

-d指定用户的HOME路径。不指定,默认在/home/用户名。

32.userdel

userdel -r 用户名

删除用户。

-r,删除用户的HOME目录。不指定-r,删除用户时,HOME目录保存。

33.id

id 用户名

查看用户所属组,如不提供用户名则查看当前用户所属组。

34.usermod

usermod -aG 用户组 用户名

修改用户所属组

35.getent

getent password

 查看当前系统中有哪些用户,且会显现用户的下列信息。

36.chmod命令

chmod -R 权限 文件或文件夹

修改文件或文件夹的权限。

-R表示对文件夹内的全部内容应用同样的操作。

只有文件或文件夹的所属用户或者root用户可以执行命令修改权限。

例如:

37.chown命令 

chown -R 用户 : 用户组 文件或文件夹

修改文件或文件夹的所属用户和用户组。

:用来分隔用户和用户组

-R表示对文件夹内的全部内容应用同样的操作。

普通用户无法修改为其他用户或组,所有此命令只能root用户执行。

38.yum

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

yum -y install或者remove或者search 软件名称

yum命令需要root权限,并且需要联网。

-y 自动确认,无需手动确认安装或者卸载过程。

intall 安装

remove 卸载

search 搜索

39.systemctl

Linux系统很多软件均支持使用systemctl命令控制:启动、停止、开机自启。

能够被systemctl管理的软件,一般称之为服务。

systemctl start或者stop或者status或者enable或者disable 服务名

start 启动

stop 关闭

status 查看状态

enable 开启开机自启

disable 关闭开机自启

40.ln

在系统中创建软链接,可以将文件、文件夹链接到其他位置。

类似Windows系统的快捷方式。

ln -s 参数1 参数2

-s选项,创建软链接

参数1:被链接的文件或文件夹

参数2:要链接去的目的地

41.date

通过date命令可以在命令行中查看系统的时间。

date -d +格式化字符串

 格式化字符串中如果有空格,可加双引号。

+号是必要的。 格式化字符串如下: 

-d 按照给定字符串显示日期,一般用于日期计算。

42.改变时区

需要root权限。

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

另外可以手动改变时间。

yum安装ntp,systemctl启动ntp,然后输入下面的命令:

ntpdate -u ntp.aliyun.com

43.ifconfig

查看ip地址。

如果不能使用,需要安装net-tools。

44.hostname

查看系统主机名。

可以修改主机名,但需要root权限。

hostnamestl set-hostname 主机名

45.ping

检查指定的网络服务器是否是刻连通的状态。

ping -c num ip或主机名

-c 后面加一个数字,表示检查次数,不加表示无限次数持续检查。

46.wget

wget是非交互式的文件下载器,可以在命令行内下载网络文件。

wget -b url

-b 可选,后台下载,会将日志写入到当前工作目录的wget-log文件。

不使用就是前台下载。无论下载完成不完成,都会存在一个文件。

在后台下载要查看下载情况,也可以用tail命令查看wget-log文件。

47.curl

可以发送http网络请求,可用于下载文件、获取信息等。

curl -O url

-O 用于下载文件,当url是下载链接时,可以使用此选项保存文件。

48.nmap

查看端口的使用情况。需要yum安装nmap。

nmap 被查看的ip地址

49.netstat

查看指定端口的占用情况。需要yum安装net-tools。

netstat -anp|grep 端口号

无人使用则什么都不输出,否则显示使用的情况。

50.ps

查看进程信息。通常配合管道符使用。

ps -e -f

-e 显示全部的进程

-f 以完全格式化的形式展现信息。

显示信息分别为:

Linux基础命令_第10张图片

51.kill

通过kill命令关闭进程。

kill -9 进程ID

 -9 表示强制关闭。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

52.top

查看系统资源占用,类似Windows任务管理器。

默认每五秒刷新一次。q键或者ctrl+c退出。

前五行信息:

Linux基础命令_第11张图片

下面列的信息:

Linux基础命令_第12张图片

Linux基础命令_第13张图片

Linux基础命令_第14张图片

53.df

可以用来查看硬盘使用情况。

df -h

-h 以更加人性化的单位展示。

54.iostat

查看cpu,磁盘的相关信息。

iostat -x num1 num2

-x 显示更多信息。

num1刷新间隔

num2刷新次数

55.sar

查看网络的相关统计

sar -n DEV num1 num2

-n查看网络

DEV表示查看网络接口

num1刷新间隔,不填查看一次结束

num2刷新次数,不填无限次数

Linux基础命令_第15张图片

56.env

用于查看环境变量环境变量

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

环境变量是一种KeyValue型结构,即名称和值,也就是这样的形式:“名称=值”。

其中有个名称为PATH,其记录了系统执行任何命令的搜索路径,这也是为什么命令在任一目录下都能完成的原因。

可以使用echo $PATH输出PATH的值。另外echo ${PATH}ABC会输出PATH的值再加ABC。

57.export

临时设置环境变量。

export 变量名=变量值

永久生效:

(1)针对当前用户生效

配置在当前用户的~/bashrc文件,添加上面临时设置的语句。并通过source配置文件,进行立刻生效,或重新登录第三方远程连接软件生效。

(2)针对所有用户生效

配置在系统的/etc/profile文件中,添加上面临时设置的语句。并通过source配置文件,进行立刻生效,或重新登录第三方远程连接软件生效。

58.rz

需要yum下载lszrz

rz

上传文件,Linux路径也就是要上传的文件。 

59.sz

需要yum下载lszrz

sz Linux路径

下载文件

60.tar

.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装。
.gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。

tar命令均可以对这两种为后缀的文件进行压缩解压的操作。

tar -c -v -x -f -z -C 参数1 参数2 …… 参数N

-c,创建压缩文件,用于压缩模式。

-v,显示压缩,解压过程,用于查看进度。

-x,解压模式

-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个

-z,gzip模式,不使用-z就是普通的tarball格式。

-C,选择解压的目的地,用于解压模式。

常用的组合:

zip压缩:

tar -cvf file.tar file1.txt file2.txt……
tar -zcvf file.tar file1.txt file2.txt……

file.tar是将后面txt文件压缩后的文件名。

tar解压:

tar -xvf file.tar
tar -xvf file.tar  -C Linux路径
tar -zxvf file.tar -C Linux路径

61.zip

压缩文件为zip压缩包

zip -r 参数1 参数2……

-r,被压缩的包括文件夹的时候,需要-r选项,和rm,cp等命令的-r效果一致。

62.unzip

解压zip压缩包

unzip -d 参数

-d 指定要解压去的位置,同tar的-C选项

参数是被解压的zip压缩包文件。

你可能感兴趣的:(linux,运维,服务器,1024程序员节)