Linux常用指令总结

小郎码知答

共 6818字,需浏览 14分钟

 · 2021-09-17

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

特点:Linux里面的一切皆是文件,文件没有后缀名这么一说

1、树状目录结构

  • /bin:是Binary的缩写,这个目录存放着系统必备执行命令

  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

  • /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:所有的系统管理所需要的配置文件和子目录。

  • /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /misc: 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /net  存放着和网络相关的一些文件.

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙

  • /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

2、VI/Vim编辑器

2.1一般模式

yy                 复制当前一行

2.2编辑模式

进入编辑模式:vim  文件名 i      当前光标前 a     当前光标后 o     当前光标的下一行 退出编辑模式 ESC

2.3指令模式

:选项 w      保存 q      退出 wq    保存退出 wq!强制保存退出 /    选项 /被查找词,n是查找下一个。shift+n是往上查找 ?被查找词,n是查找上一个,shift+n是往下查找

3、常用的基本命令

3.1目录和文件的操作

  • pwd 显示当前工作目录的绝对路径
  • ls 列出目录的内容

-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)

-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

  • mkdir 创建一个新的目录

mkdir 目录

mkdir -p 创建多层目录

  • rmdir 删除一个空的目录

rmdir 要删除的空目录

  • cd 切换目录

(1)cd 绝对路径

(2)cd 相对路径

(3)cd ~或者cd (功能描述:回到自己的家目录)

(4)cd - (功能描述:回到上一次所在目录)

(5)cd .. (功能描述:回到当前目录的上一级目录)

(6)cd -P (功能描述:跳转到实际物理路径,而非快捷方式路径)

  • cp 复制文件或目录

(1)cp source dest (功能描述:复制source文件到dest)

(2)cp -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)

  • rm 移除文件或目录

(1)rmdir deleteEmptyFolder (功能描述:删除空目录)

(2)rm -rf deleteFile (功能描述:递归删除目录中所有内容)

  • mv 移动文件与目录或重命名

(1)mv oldNameFile newNameFile (功能描述:重命名)

(2)mv /temp/movefile /targetFolder (功能描述:移动文件)

  • cat 查看文件内容:   cat  [选项] 要查看的文件,查看文件的命令还有tail(内容从后向前显示);more(一页一页的喜爱你是文件的内容);less(与more类似);head(只看头几行)

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E :将结尾的断行字节 $ 显示出来;

-n :列出行号,连同空白行也会有行号,与 -b 的选项不同;

-T :将 [tab] 按键以 ^I 显示出来;

-v :列出一些看不出来的特殊字符

  • touch 创建空文件

touch 文件名称

  • 重定向命令

(1)ls –l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))

(2)ls –al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)

  • echo

(1)echo 要显示的内容 >> 存储内容的的文件 (功能描述:将要显示的内容,存储到文件中)

(2)echo 变量 (功能描述:显示变量的值)

  • ln软链接

ln –s [原文件] [目标文件] (功能描述:给原文件创建一个软链接,软链接存放在目标文件目录)

  • history  查看所敲命令历史

3.2时间日期

  • date显示当前时间

(1)date (功能描述:显示当前时间)

(2)date +%Y (功能描述:显示当前年份)

(3)date +%m (功能描述:显示当前月份)

(4)date +%d (功能描述:显示当前是哪一天)

(5)date +%Y%m%d   date +%Y/%m/%d … (功能描述:显示当前年月日各种格式 )

(6)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)

  • date显示非当前时间

(1)date -d '1 days ago' (功能描述:显示前一天日期)

(2)date -d yesterday +%Y%m%d (同上)

(3)date -d next-day +%Y%m%d (功能描述:显示明天日期)

(4)date -d 'next monday' (功能描述:显示下周一时间)

  • date设置系统时间

date -s 字符串时间

如date -s "2017-06-19 20:52:18"

  • cal查看日历

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

3.3用户管理命令

  • useradd 添加新用户

useradd 用户名 (功能描述:添加新用户)

  • passwd 设置用户密码

passwd 用户名 (功能描述:设置用户密码)

  • id 判断用户是否存在

id 用户名

  • su 切换用户

su 用户名称     (功能描述:切换用户)

  • userdel 删除用户

(1)userdel  用户名 (功能描述:删除用户但保存用户主目录)

(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)

  • who 查看登录用户信息

(1)whoami (功能描述:显示自身用户名称)

(2)who am i (功能描述:显示登录用户的用户名)

(3)who (功能描述:看当前有哪些用户登录到了本台机器上)

  • 设置simon普通用户具有root权限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

Allow root to run any commands anywhere

root    ALL=(ALL)     ALL simon  ALL=(ALL)     ALL 修改完毕,现在可以用atguigu帐号登录,然后用命令 su - ,即可获得root权限进行操作。

  • cat  /etc/passwd 查看创建了哪些组

  • usermod修改用户

usermod -g 用户组 用户名

例:将用户simon加入dev用户组

4、用户组管理命令

  • groupadd 新增组

groupadd 组名

例子:添加一个simon组

  • groupdel删除组

groupdel 组名

  • groupmod修改组

groupmod -n 新组名 老组名

  • cat  /etc/group 查看创建了哪些组

5、文件权限

操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在 Linux  中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。

文件权限1

第一列的内容的信息解释如下:

文件权限2

文件的类型:

  • d:代表目录
  • -:代表文件
  • l:代表软链接(可以认为是 window 中的快捷方式)

Linux 中权限分为以下几种:

  • r:代表权限是可读,r 也可以用数字 4 表示
  • w:代表权限是可写,w 也可以用数字 2 表示
  • x:代表权限是可执行,x 也可以用数字 1 表示

文件和目录权限的区别:

对文件和目录而言,读写执行表示不同的意义。

对于文件:

权限名称可执行操作
r可以使用 cat 查看文件的内容
w可以修改文件的内容
x可以将其运行为二进制文件

对于目录:

权限名称可执行操作
r可以查看目录下列表
w可以创建和删除目录下文件
x可以使用 cd 进入目录

需要注意的是:超级用户可以无视普通用户的权限,即使文件目录权限是 000,依旧可以访问。

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。

  • 所有者(u) :一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用 ls ‐ahl 命令可以看到文件的所有者 也可以使用 chown 用户名 文件名来修改文件的所有者 。
  • 文件所在组(g) :当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组用 ls ‐ahl命令可以看到文件的所有组也可以使用 chgrp 组名 文件名来修改文件所在的组。
  • 其它组(o) :除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

我们再来看看如何修改文件/目录的权限。

修改文件/目录的权限的命令:chmod

示例:修改/test 下的 aaa.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。

chmod u=rwx,g=rw,o=r aaa.txt 或者 chmod 764 aaa.txt

文件权限3
  • chown改变所有者

chown [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)

  • chgrp改变所属组

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

6、磁盘分区

  • fdisk查看分区

fdisk –l (功能描述:查看磁盘分区详情)

  • df查看硬盘

df  参数 (功能描述:查看磁盘使用情况)

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

  • mount/umount挂载/卸载

7、搜索查找

  • find 查找文件或者目录

find [搜索范围] [匹配条件]

  • grep 在文件内搜索字符串匹配的行并输出

grep+参数+查找内容+源文件

-n:显示匹配行及行号。

案例:ls | grep -n test

  • which 文件搜索命令

which 命令 (功能描述:搜索命令所在目录及别名信息)

which ls   /bin/ls

8、进程和线程

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

  • ps查看系统中所有进程
  • top查看系统健康状态
  • pstree查看进程树

pstree [选项]

-p: 显示进程的PID

-u: 显示进程的所属用户

  • kill终止进程

kill -9 pid进程号

-9 表示强迫进程立即停止

  • netstat显示网络统计信息

netstat –anp (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)

9、压缩和解压

  • gzip/gunzip压缩

gzip+文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)

gunzip+文件.gz (功能描述:解压缩文件命令)

  • zip/unzip压缩

zip + 参数 + XXX.zip + 将要压缩的内容 (功能描述:压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件)

例子:zip test.zip test1.java  test.java

  • tar打包

tar + 参数 + XXX.tar.gz + 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

-c 产生.tar打包文件

-v 显示详细信息

-f 指定压缩后的文件名

-z 打包同时压缩

-x 解包.tar文件

案例:

(1)压缩:tar -zcvf  XXX.tar.gz   n1.txt    n2.txt

(2)解压:tar -zxvf  XXX.tar.gz -C 解压目的地

10、后台服务管理

  • service后台服务管理

1)查看指定服务的状态service network status

2)停止指定服务service network stop

3) 启动指定服务service network start

4)重启指定服务service network restart

5)查看系统中所有的后台服务service --status-all

  • chkconfig设置后台服务的自启配置

1)查看所有服务器自启配置chkconfig

2) 关掉指定服务的自动启动chkconfig iptables off

3)开启指定服务的自动启动chkconfig iptables on

11、rpm

RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

  • 查询

rpm –qa (功能描述:查询所安装的所有rpm软件包)

  • 卸载

(1)rpm -e RPM软件包

rpm -e firefox

  • 安装

rpm –ivh RPM包全名

-i=install,安装

-v=verbose,显示详细信息

-h=hash,进度条

--nodeps,不检测依赖进度

公众号回复Java全套Java架构大数据电子书算法和刷题笔记面经,即可获得对应的学习资源。

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报