Linux常用命令总结(超详细 建议收藏)

Linux的命令有几百个,但是常用的并不多,这些命令我们并不需要全部掌握。如果在学习和工作中遇到了陌生的Linux命令,多查手册,多多使用,久而久之就能熟能生巧

在这给大家推荐一个Linux命令在线中文手册,方便大家在遇到没见过的命令时查看

点我获取地址

本文介绍了Linux最基础的25个命令。

1、重启和关机

重启和关机需要系统管理员用户权限。

1)重启

init 6 或 reboot

2)关机

init 0 或 halt

如果没有执行关机命令,强制断电或关闭本地虚拟机的窗口,会导致Linux操作系统文件的损坏,严重的可能导致系统无法正常启动。

2、清屏

clear

清除当前屏幕上显示的内容。

Ctrl+l

换页,不清屏

3、查看服务器的ip地址

ip addr

在这里插入图片描述

上图中,框中显示的就是IP地址。

4、时间操作

普通用户可以查看时间,但设置时区和时间要系统管理员用户登录 。

1)查看时间。

date

2)设置时区为中国上海时间(注意不是北京时间)。

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3)设置时间。

date -s “yyyy-mm-dd hh:mi:ss”

例如:date -s “2020-01-02 12:35:28”

5、查看日历

基本语法

cal [选项] (功能描述:不加选项,显示本月日历)

选项说明:具体某一年,显示当年的日历

1)查看当前月的日历

cal

2)查看2017年的日历

cal 2017

6、目录和文件

文件系统是像一棵树,树干是/(根)目录,树枝是子目录,树枝后面还有树枝(子目录中还有子目录),树枝最后是树叶,目录的最后是文件。

在这里插入图片描述

严谨的说,文件名是由目录+文件名组成的。

对于目录和文件,有一些约定的表述,我们以/usr/etc/readme.txt为例。

1)全路径文件名包含了完整的目录名和文件名,即/usr/etc/readme.txt,还有一个称呼是“绝对路径文件名”。

2)readme.txt是文件名,它在/usr/etc目录中。

3)目录和文件的绝对路径是从根(/)算起,在任何时候都不会有岐义。

4)登录Linux后,一定处在目录树的某个目录中,这个目录称之为当前工作目录,简称当前目录

5)目录和文件的相对路径是从当前工作目录算起,如果当前工作目录是/usr,etc/readme.txt等同于/usr/etc/readme.txt;如果当前工作目录是/usr/etc,readme.txt等同于/usr/etc/readme.txt。

6)用Linux的命令操作目录和文件的时候,采用绝对路径和相对路径都可以。

7)一个圆点.表示当前工作目录;

8)两个圆点…表示当前工作目录的上一级目录。

理解绝对路径和相对路径的概念非常重要,在日常操作中,绝对路径和相对路径会同时使用,但是程序员在编写的程序中极少使用相对路径。

Linux具体目录结构

/lib系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点]所有系统管理所需要的配置文件和子目录。my.conf
/usr用户的很多应用程序和文件都放在这个目录下。类似于Windows下的program.files目录
/bin (重点)(usr/bin,/usr/local/bin)是Binary的缩写,这个目录存放着经常使用的命令
/sbin (usr/sbin、/usr/local/sbin)s就是 super user的意思,这里存放的是系统管理员使用的系统管理程序
/home [重点]存放普通用户的主目录,在Linux中的每个用户都有一个自己的目录,一般该目录以用户的账号名命名
/root [重点]该目录为系统管理员,超级权限者的用户目录
/boot存放的启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件
/proc虚拟目录,是系统内存的映射,访问这个目录来获取系统信息。
/srvservice 的缩写,该目录是存放一些服务启动之后需要提取的数据
/sysLinux2.6内核的一个很大变化,该目录安装了2.6内核中新出现的一个文件系统
/tmp存放临时文件
/dev类似于 windows的设备管理器,把所有的硬件用文件的形式存储
/media [重点]Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt [重点]系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。d:/ myshare
/opt这是给主机额外安装软件所摆放的目录。如安装 ORACLE数据库就可放到该目录下。默认为空。
/usr/local [重点]这是另个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/var [重点]这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/selinux [security-enhanced linux] 类似 360Selinux是一种安全子系统,它能控制程序只能访同特定文件。

Linux系统文件类型
普通文件: -
目录文件:d
字符设备文件:c
块设备文件:b
软连接:l
管道文件:p
套接字:s

7、链接命令

命令名称:ln

命令英文原意:link

命令所在路径:/bin/ln

执行权限:所有用户

语法:ln -s [原文件] [目标文件]

-s 创建软链接(也称符号链接)

ln命令不带参数默认创建硬链接

功能描述:生成链接文件

范例:

ln -s /etc/issue /tmp/issue.soft

创建文件/etc/issue的软链接/tmp/issue.soft

ln /etc/issue /tmp/issue.hard

创建文件/etc/issue的硬链接/tmp/issue.hard

硬链接特征:

1、相当于创建了源文件的副本,如果硬链接文件的内容修改了,那么源文件的内容也会改变。

2、通过文件的索引节点链接

3、只有在同一文件系统的文件才能创建硬链接,不能跨分区创建

4、不能针对目录使用

软链接特征:

1、软链接可以实现文件或者目录的共享,它就像Windows下的快捷方式一样

2、 软链接文件可以是指向任意一个文件系统下的任意文件或目录,不仅如此,软链接还可以指向一个不存在的文件,但是不能对不存在的文件创建硬链接

3、硬链接只能在同一文件系统下创建,那么软链接就不会有这个限制,可以理解为软链接的产生就是为了摆脱这个限制的

8、查看当前工作目录

pwd

在这里插入图片描述

9、改变当前工作目录

cd 目录名

示例:

1)进入/tmp目录

cd /tmp

2)进入上一级目录

cd …

3)进入用户的主目录

cd

cd~

10、列出目录和文件信息

语法:ls 选项[-ald] [文件或目录]

-a 显示所有文件,包括隐藏文件

-l 详细信息显示

-d 查看目录属性

ls是list的缩写,通过ls 命令不仅可以查看目录和文件信息,还可以目录和文件权限、大小、主人和组等信息。

选项-l列出目录和文件的详细信息。

选项-lt列出目录和文件的详细信息,按时间降序显示。

示例:

1)列出当前工作目录下全部的目录和文件名信息。

ls

在这里插入图片描述

2)列出当前工作目录下全部的目录和文件名详细的信息。

ls -l

(下图信息内容会在文件权限那边详细介绍)

在这里插入图片描述

3)列出/tmp目录下全部的目录和文件。

ls /tmp

在这里插入图片描述

4)正则表达式

正则表达式又称规则表达式、通配符,目录和文件名都支持正则表达式,正则表达式的规则比较多,在这里我只介绍最常用的两种:星号“*”和问号“?”。

星号“*”:匹配任意数量的字符。

问号“?”:匹配一个的字符。

5)列出/root/thread-cpp目录下以匹配*.cpp的目录和文件。

ls /root/thread-cpp/*.cpp

在这里插入图片描述

6)列出/root/aaa目录下匹配*.sh的目录和文件,按时间降序显示。

ls -lt /root/aaa/*.sh

在这里插入图片描述

11、创建目录

mkdir 目录名

示例:

1)在当前工作目录下创建aaa目录。

mkdir aaa

2)在当前工作目录的aaa目录下创建bbb目录。

mkdir aaa/bbb

3)创建/tmp/aaa目录。

mkdir /tmp/aaa

12、删除目录和文件

rm [-rf] 目录或文件列表

选项-r可以删除目录,如果没有-r只能删除文件。

选项-f表示强制删除,不需要确认。

目录和文件列表中间用空格分隔。

示例:

1)删除当前工作目录下匹配*.log的文件。

rm *.log

2)强制删除当前工作目录下匹配*.log的文件。

rm -f *.log

3)删除/tmp/aaa目录和文件。

rm -r /tmp/aaa

4)强制删除/tmp目录下匹配exp*的全部目录和文件。

rm -rf /tmp/exp*

5)强制删除当前工作目录下的book和book.c文件

rm -rf book book.c

13、移动目录和文件

mv 旧目录或文件名 新目录或文件名

如果第二个参数是已经存在的目录,则把第一个参数(旧目录或文件名)移动到该目录中。

示例:

1)把当前工作目录中的book.c文件重命名为book1.c

mv book.c book1.c

2)如果/tmp/test3是一个已经存在的目录,以下命令将把当前工作目录下的book.c文件移动到/tmp/test3目录中。

mv book.c /tmp/test3

3)如果/tmp/test3目录不存在,以下命令将把当前工作目录下的book.c文件改名为/tmp/test3。

mv book.c /tmp/test3

14、复制目录和文件

cp [-r] 旧目录或文件名 新目录或文件名

选项-r可以复制目录,如果没有选项-r只能复制文件。

示例:

1)把当前工作目录下的book1.c文件复制为book2.c

cp book1.c book2.c

2)把当前工作目录下的aaa目录复制为bbb

cp -r aaa bbb

3)把当前工作目录下的book1.c文件复制为/tmp/book1.c

cp book1.c /tmp/book1.c

cp book1.c /tmp/.

以上两个命令的效果相同。

4)把当前工作目录下的aaa目录复制为/tmp/aaa

cp -r aaa /tmp/aaa

cp -r aaa /tmp/.

以上两个命令的效果相同。

15、打包压缩和解包解压

tar命令用来打包压缩和解包解压文件,类似windows的winrar工具。

语法:tar 选项[-zcf] [压缩后文件名] [目录]

-c 打包

-v 显示详细信息

-f 指定文件名

-z 打包同时压缩

示例:

1)把当前工作目录的aaa、bbb和ccc目录打包压缩成123.tgz文件。

tar zcvf 123.tgz aaa bbb ccc

2)把/home/oracle/aaa、/home/oracle/bbb和/home/oracle/ccc目录打包压缩成/tmp/123.tgz文件。

tar zcvf /tmp/123.tgz /home/oracle/aaa /home/oracle/bbb /home/oracle/ccc

tar命令解压缩语法:

-x 解包

-v 显示详细信息

-f 指定解压文件

-z 解压缩

示例:

1)把/tmp/123.tgz压缩包文件在当前工作目录下解压。

tar zxvf /tmp/123.tgz

2)把/tmp/123.tgz压缩包文件在/tmp/aaa目录下解压。

cd /tmp/aaa

tar zxvf /tmp/123.tgz

注意:

1)用tar命令打包和解包的目录和文件没有绝对路径的说法,都成了相对的,在包中相对的。

2)用tar命令打包的文件,用winrar可以解开。

3)在Linux系统中,还有其它的打包压缩和解包解压命令,例如zip/unzip和gzip/gunzip。

16、判断网络是否连通

Windows系统:

ping -n 包的个数 ip地址或域名

Linux系统:

ping -c 包的个数 ip地址或域名

ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。

127.0.0.1是指本地的ip地址,ping 127.0.0.1总是可以通的。

示例:

1)向本地主机(127.0.0.1)ping五个包。

ping -c 5 127.0.0.1

在这里插入图片描述

2)向百度(www.baidu.com)的服务器ping五个包。

在这里插入图片描述

百度的服务器是可以ping通的。

3)向谷歌(www.google.com)的服务器ping五个包。

在这里插入图片描述

谷歌的服务器是ping不通的。

17、显示文本文件的内容

显示文本文件的内容有三个命令:cat、more和tail。

1)cat命令

cat 文件名

cat命令一次显示整个文件的内容。

cat main.cpp

在这里插入图片描述

2)more命令

more 文件名

为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。

3)tail命令

tail -f 文件名

tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。

18、统计文本文件的行数、单词数和字节数

wc 文件名

示例:

1)统计当前工作目录处*.sh文件的行数、单词数和字节数。

wc *.sh

在这里插入图片描述

19、搜索文件中的内容

grep “内容” 文件名

注意,如果内容中没有空格等特殊字符,可以不用双引号括起来。

示例:

1)在*.cpp文件中搜索thread

grep thread *.cpp

在这里插入图片描述

20、搜索文件

find 目录名 -name 文件名 -print

参数说明:

目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。

文件名:待搜索的文件名匹配的规则。

-type 按文件类型搜索
-name 按文件名搜索
-maxdepth 指定搜索深度
-size 按文件大小搜索 单位:K,M,G
find /home/itcast -size +20M - size -50M
-exec: 将find搜索的结果集执行某一指定命令
find /usr/ -name ‘*.cpp’ -exec ls -l {}\;
-ok: 以交互式的方式,将find搜索的结果集执行某一指定命令
-xargs:将find搜索的结果集执行某一指定命令。当结果集数量过大时,可以分片映射
find /usr/ -name ‘*.cpp’ | xargs ls -l
-print0:
find /usr/ -name ‘*.cpp’ -print0 | xargs -0 ls -l

示例:

1)从/tmp目录开始搜索,把全部的*.c文件显示出来。

find /tmp -name ‘*.c’ -print

2)从当前工作目录开始搜索,把全部的*.c文件显示出来。

find . -name ‘*.c’ -print

21 、文件权限类

21.1 文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属 的用户和组。

1)从左到右的 10个字符表示,如图所示

在这里插入图片描述

如果没有权限,就会出现减号[ - ]。从左至右用0-9这些数字来表示:

(1)0首位表示类型 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

-代表文件

d 代表目录

l 链接文档(link file);

(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User

(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group

(4)第7-9位确定其他用户拥有该文件的权限 —Other
2)rwx作用文件和目录的不同解释

(1)作用到文件:
​ [ r ]代表可读(read): 可以读取,可以ls查看目录内容
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
​ [ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

​ [ r ]代表可读(read): 可以读取,可以ls查看目录内容
​ [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
​ [ x ]代表可执行(execute):可以进入该目录

在这里插入图片描述

(1)如果查看到是文件:链接数指的是硬链接个数。 (2)如果查看的是文件夹:链接数指的是子文件夹个数。

21.2 chmod 改变权限

1)基本语法 如图 所示
在这里插入图片描述

第一种方式变更权限

chmod [{ugoa}{±=}{rwx}] 文件或目录
第二种方式变更权限

chmod [mode=421 ] [文件或目录]
2)参数含义
u:所属用户 g:所属组 o:其他人用户 a:所有人(u、g、o的总和)

r=4 w=2 x=1 rwx=4+2+1=7
3)案例

(1)让houge.txt文件的所属用户具有执行权限
chmod u+x houge.txt
(2)让houge.txt文件的所属组具有执行权限
chmod g+x houge.txt

(3)去除houge.txt所属用户的执行权限,使其他用户具有执行权限
chmod u-x,o+x houge.txt

(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。

chmod 777 houge.txt

(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。

chmod -R 777 xiyou/

22、用户组管理命令

22.1 增加用户组

groupadd 组名

例如:

groupadd dba

22.2 删除用户组

groupdel 组名

例如:

groupdel dba

22.3 查看创建了哪些组

cat /etc/group

23、用户管理命令

23.1 增加用户

useradd -n 用户名 -g 组名 -d 用户的主目录

例如增加一个用户,用户名为jay,属于dba组,用户的主目录是/home/jay

useradd -n jay -g dba -d /home/jay

23.2 删除用户

userdel 用户名

例如删除wucz用户。

userdel jay

23.3 passwd设置用户密码

passwd [用户名]

修改用户的密码,按提示两次输入新密码,如果两次输入的密码相同就修改成功。

普通用户只能修改自己的密码,只输入passwd就可以了,不能指定用户名。

系统管理员可以修改任何用户的密码,passwd后需要指定用户名。

例如设置用户jay的密码

passwd jay

23.4 id查看用户是否存在

例如查看用户jay是否存在

id jay

23.5 查看创建了哪些用户

cat /etc/passwd

23.6 切换用户

在命令提示符下输入: su,然后按提示输入root的密码后将切换到root用户。

从root用户切换到其它普通用户不需要输入密码,从普通用户切换到任何用户都需要输入密码。

在这里插入图片描述

24、修改目录和文件的主人和组

chown 改变所有者

chown [-R] 用户名:组名 目录或文件名列表

chown将目录或文件的拥有者修改为参数指定的用户名和组,目录或文件名列表用空格分隔。

-R 选项表示递归处理各级子目录。

示例:

1)将main.cpp的所有者改为jay

chown jay main.cpp

2)把/oracle/home和/oracle/base及其子目录的主人改为oracle,组改为dba。

chown -R oracle:dba /oracle/home /oracle/base

chgrp 改变所属组

基本语法 chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)

示例:

1)将main.cpp的组改为root

chgrp root main.cpp

25、 磁盘查看和分区类

25.1 df查看磁盘空间使用情况

df [选项] [挂载点

选项:

-a 显示所有的文件系统信息,包括特殊文件系统,如 /proc、/sysfs

-h 使用习惯单位显示容量,如KB,MB或GB等

-T 显示文件系统类型

-m 以MB为单位显示容量

-k 以KB为单位显示容量。默认就是以KB为单位

示例:

查看磁盘使用情况:

df -h

在这里插入图片描述

在这里插入图片描述

25.2 du查看文件和目录占用的磁盘空间

du [选项] [目录或文件名]

选项:

-a 显示每个子文件的磁盘占用量。默认只统计 子目录的磁盘占用量

-h 使用习惯单位显示磁盘占用量,如KB,MB 或GB等

-s 统计总占用量,而不列出子目录和子文件的 占用量

示例:

查看当前用户主目录占用的磁盘空间大小:

du -sh

在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BillySturate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值