Linux 最常用命令:能解决 95% 以上的问题

Linux 最常用命令:能解决 95% 以上的问题

操作系统概述

操作系统 Operating System 简称 OS,通俗讲就是一款软件,不过和一般的软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他的软件都必须在操作系统的支持下才能运行。

Linux 操作系统安装

关于 Linux 的安装看这篇——Linux的安装教程

  • https://blog.youkuaiyun.com/huaijiu123/article/details/82083452
Linux 文件系统
  • /var:包含在正常操作中被改变的文件、假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。
  • /home:包含用户的文件:参数设置文件、个性化文件、文档、数据、EMALL、缓存数据等,每增加一个用户,系统就会根据其用户名在 home 目录下新建和其他用户同名的文件夹,用于保存其用户配置。
  • /proc:包含虚幻的文件,他们实际上并不存在于磁盘上,也不占用任何空间(用 ls-l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统。
  • /bin:包含系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。
  • /etc:为操作系统的配置文件目录(防火墙、启动项)
  • /root:为系统管理员(也叫超级用户或根用户)的 Home 目录。
  • /dev:为设备目录,Linux 下设备被当成文件,这样一来硬件被抽象化、便于读写、网络共享以及需要临时装载到文件系统中,正常情况下,设备会有一个独立的子目录,这些设备的内容会出现在独立的子目录下。
Linux 命令操作
  • 查看当前目录命令:pwd
  • 打开文件夹命令:cd
    • 打开指定文件夹:cd [目录名称]
    • 打开当前用户的根目录:cd ~
    • 返回上级目录:cd …
    • 返回进入目录:cd -
    • 打开根目录:cd /
  • 浏览目录下的文件列表命令:ls
    • 以列的方式查看当前目录下的文件列表:ls -l
    • 查看当前目录下所有的文件(包括隐藏文件):ls -a
    • 以列表的方式查看当前目录下的所有文件:ls -la
  • 创建文件目录命令:mkdir
    • 新建文件目录:mkdir 文件夹名称
    • 递归新建多级目录:mkdir -p 文件夹名称
    • 例如在用户目录下新建 test 目录,命令这样写:mkdir -p test/test1/test2/test3 递归新建多级目录的写法
  • 删除文件目录命令:rmkdir
    • 删除指定目录:rmkdir 目录名称
    • 递归删除指定目录及中间目录:rmdir -p 目录名称 这里没有写错,没有字母 k
  • 删除文件或者目录命令:rm
    • 常用命令:rm -rf [目录或文件]``rm -ri [目录或文件]
    • 强制删除文件或目录:rm -rf 目录或者文件
    • 在删除前询问是否确认删除:rm -ri 目录或文件

因为强制删除的后果不太好,一般不建议使用 rm -rf 进行文件删除

rm 命令中不跟 r 参数,无法删除目录,只能删除文件

  • 复制文件或目录命令:cp
    • 递归复制目录1下的所有的文件和文件夹到目录2:cp -r [目录1][目录2]
    • 执行复制操作时覆盖原有目录前询问用户:cp -ri [目录1][目录2]
  • 移动文件、修改文件名命令:mv
    • 将文件夹1名称更改为文件夹2:mv 文件1 文件2 (给文件更名)
    • 将目录1的文件移动到目录2:mv 目录2 目录2 (将目录1的文件移动到目录2)
  • 创建文件命令:touch
    • touch 文件名称
  • 查看、编辑文件命令:vi
    • vi 命令为 UNIX 操作系统或者类 UNIX 操作系统都有具有的功能强大的文件编辑命令,用户输入 vi ++ 文件名,便可以进入 vi 模式进行文件内容的查看和编辑,如果文件已经存在,则直接打开文件,如果文件不存在,则系统将打开一个全新的空文件。

vi 的三种模式如下:

  1. 命令模式

当用户使用 vi 命令打开文件后,则进入命令模式,用户可以输入命令来执行各种功能。

img

  1. 输入模式

如果用户要对文件做修改,则可以使用下面几种命令,进入输入模式,用户进入输入模式之后,可以任意修改文件,除了 Esc 键外,用户输入的任何字符都会被作为内容写入文件中,用户输入 Esc 可以对文件进行相关操作。

img

  1. 末行模式

如果用户完成编辑命令,则可以按照 esc + “:” 进入末行模式,用户可以对文件内容继续进行搜索,也可以输入 “:wq!” 进行文件保存并退出,或者输入 “:q!” 强制退出文件编辑。

img

  • 查看、编辑文件命令:cat
    • 显示一个小的文件的内容:cat 文件名称
    • 创建并打开一个新的文件:cat > 文件名称
  • 查看文件开头内容命令:head
    • head [参数] [文件名]

例如,使用 head 命令显示某个文件开始的 n 行数据:head -n 文件名称

img

  • 查看文件结尾内容命令:tail
    • 动态加载某个文件的内容(常用于查看日志文件):tail -f 文件名称
    • 展示文件最后几行的数据:tail -n 行数文件名称

Linux 权限管理

用户和用户组

用户是指在一个操作系统中,一系列权限的集合体,操作人员通过用户名和口令可以在系统中执行某一些被允许的操作。不同的用户可以具有不同的权限。Linux 操作系统中每个用户都具有唯一标识 UID,当使用命令创建用户时,如果不指定用户的 UID,则系统将自动为其分配 UID。

用户组就是具有相同特征的用户的集合体,在 Linux 系统中,每一个用户都属于至少一个用户组。Linux 操作系统中每个用户分组都具有唯一标识 GID,当使用命令创建用户组时,如果不指定用户组的 GID,则系统将自动为其分配 GID。当使用 -u 指定用户 id 时,用户 id 尽量大于500,以免冲突。因为 Linux 操作系统安装后,会默认建立一些用户,所以可能会占用 500 之内的 id 号。

Linux 权限机制有以下特点:

  • 系统有一个权限最大的用户,其名称为 root ,root 用户属于 root 用户组。
  • 系统默认只有 root 权限可以添加和删除用户。
  • 添加用户之后,如果没有给用户指定用户组,则系统会为用户添加一个同名的用户组,用户属于该组。
  • root 切换到普通用户无需登录,普通用户切换到 root 用户需要登陆。
  • root 可以给用户赋予和回收某一个文件的读、写、执行的权限。
用户操作命令
  • 切换用户命令:su
    • su [用户名] 或者 su -[用户名]
    • su[用户名]su -[用户名]都可以切换用户,前者类似于临时切换用户,当使用该命令进行切换新用户时,用户配置仍然沿用原来的用户配置,如环境变量、系统变量等。而后者进行切换用户时,环境变量、系统设置全部切换成新用户的用户配置。
  • 查看当前登陆用户命令:whoami
  • 查看当前用户所属分组命令:groups
  • 查看当前用户 UID 和 GID 命令:id
  • 添加新用户命令:useradd

img

在 Linux 操作系统中添加用户:useradd 用户名

在 Linux 操作系统中添加用户并指定用户 UID:useradd -u 指定的 UID 用户名

  • **修改用户密码命令:passwd**例如:修改当前用户名为 sang 的用户密码:passwd sang

在添加用户之后,只有为其设置密码,用户才能登陆

img

  • 删除用户命令:userdel
    • 删除用户:userdel 用户名
    • 删除用户并同时删除其登陆信息:userdel -r 用户名

img

  • 修改用户信息命令:usermod
    • 语法:usermod [选项] [参数] [用户名]
    • 修改用户登录名:usermod -l 新用户名 旧用户名
    • 修改用户所属分组:usermod -g 新组名称 用户名

img

  • 添加用户组命令:groupadd
    • 语法:groupadd [选项] [组名称]
    • 修改用户登陆名:groupadd 组名
    • 修改用户所属分组:groupadd -g 组 GID 组名

img

权限操作

Linux 操作系统为文件定义了读、写、执行三种权限,不同的用户或者用户组可以具有不同的权限,系统采用 “r”、“w”、“x” 来分别表示文件的读、写、执行权限。使用 ls -l 命令可以查看到用户在当前目录或者文件的操作权限。

举列:

drwxr -xr -x. 2 root root 4096 Sep 23 2011 bin

从左至右分别表示如下含义:

  • d:代表 bin 数目目录而不是文件
  • rwx:代表拥有者具有读、写、执行的权限
  • r -x:代表同组用户具有读、执行的权限,但是没有写权限
  • r -x:代表其他组用户具有读、执行权限,没有写权限

常用的变更权限命令为:chmod

语法:chmod [选项] [参数]

img

chmod 的参数可以分为两种,分别是权限模式和数字模式。

权限模式:

权限模式使用 u、g、o 分别代表拥有者、同组用户、其他组用户,使用 + 和一代表赋予和收回权限,使用 r、w、x 代表读、写、执行权限。

例如:将文件01的执行权限给当前用户,写权限赋给用户所在的用户组和其他用户。

chmod -r U+X,G+W F01

例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读、写权限赋给用户所在的用户组和其他用户。

chmod -r u=rwx,g=rw,o=rw f01

数字模式:

为了简化授权步骤,用户也可以采用数字模式进行授权,使用二进制的形式代表 r、w、x 三种权限,如 101 (5) =r -x111 (7) =rwx100 (3) =r- -

例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读和执行权限赋给用户组、将写和执行权限赋给其他用户。

chmod 753 -r f01

例如:将文件 f01 的读、写、执行权限赋给所有用户。

chmod 777 -r f01

Linux 进程管理

在 Linux 的应用中,我们需要对进程进行管理,如查看某个进程是否启动、以及在必要的时刻,杀掉某个线程。

  • 查看进程命令:ps

ps 命令是 Linux 操作系统中查看进程的命令,通过 ps 命令我们可以查看 Linux 操作系统中正在运行的过程,并可以获得进程的 PID(进程的唯一标识),通过 PID 可以对进程进行相应的管理。

ps -ef | grep [进程关键字]

根据进程关键词查看进程命令显示如下,显示的进程列表中第一列表示开启进程的用户,第二列表示进程唯一标识 PID,第三列表示父进程 PPID,第四列表示 CPU 占用资源比列,最后一列表示进程所执行程序的具体位置。

[shang@localhost ~]$ ps -ef|grep sshd
root 1829 1  0 May24 ?   00:00:00 /usr/sbin/sshd
shang 24166 24100  0   20:17 pts/2  00:00:00      grep  sshd
[shang@localhost ~]$

  • 杀掉进程命令:kill

当系统中有进程进入死循环,或者需要被关闭时,我们可以使用 kill 命令对其关闭。

kill -9 [PID] PID 为 Linux 操作系统中进程的标识

Linux 其他常用命令大全
  • 清屏命令:clear
  • 查询命令详细参数命令:man
  • 挂载命令:mnt
  • 远程连接服务 SSH 相关命令:
  • 启动 SSH 服务命令:service sshd start
  • 重启 SSH 服务命令:service sshd restart
  • 关闭 SSH 服务命令:service sshd stop

Linux 大多数情况下都是远程服务器,开发者通过远程工具连接 Linux ,启动了某个项目的 JAR,一旦窗口关闭,JAR 也就停止运行了,因此一般通过如下命令启动 JAR:nohup java -jar jar-0.0.1-SNAPSHOT.jar &

这里多了 nohup ,表示当前窗口关闭时服务不挂起,继续在后台运行

Linux 系统软件安装
常用软件安装

Linux 下常用的软件安装方式有3种。

  • tar 安装:如果开发商提供的是 tar、tar.gz、tar.bz 格式的包(其中 tar 格式的为打包后没有压缩的包,gz 结尾的是按照 gzip 打包并压缩的软件包,tar.bz 是按照二进制方式打包并压缩的软件包),可以采用 tar 包安装,tar 安装方式本质上是解压软件开发商提供的软件包,之后在通过相应配置,完成软件的安装。
  • rpm 安装:rpm 安装方式是 redhat Linux 系列推出的一个软件包管理器,类似于 Windows 下的 exe 安装程序,可以直接使用 rpm 命令安装。
  • yum 安装:yum 安装本质上依然是 rpm 包安装,和 rpm 安装方式的不同之处是用户可以通过 yum 参数,指定安装的软件包,系统将自动从互联网上下载相应的 rpm 软件包。而无须用户关心软件包的下载地址,以及软件包的依赖关系。

软件安装常用命令

  • 解压压缩命令:tar
  • 语法:tar [选项] [压缩包]
  • 解压 gzip 包:tar -zxvf [包名]
  • 解压 bz 包:tar -jxvf [包名]
  • 解压普通包:tar -xvf [包名]

img

安装卸载命令:rpm

  • 语法:rpm [选项] [软件包]
  • 查询是否已经安装了某软件包:rpm -qa|grep [软件包关键词]
  • 卸载已经安装的软件包:rpm -e 软件包全名
  • 安装软件包并查看进度:rpm -ivh 软件包路径

img

来源:作者南独酌酒nvn,https://blog.youkuaiyun.com/qq_43647359/article/details/104792569

img

**文末福利
**

img

这里分享一份超全Shell脚本教程和Linux命令,非常适合那些正在学习Linux或从事运维工作的朋友参考学习。

  • *Linux命令*

Linux命令是Linux系统运行的关键,也经常成为初学者的学习难点。

这里整理了一份Linux命令教程,包括详细的解释和具体的命令示例,内容非常清晰易懂。

Linux命令行与shell脚本编程大全

这份资料可谓含金量十足,包含Linux命令与shell脚本编程超全讲解,足足有621页,非常详细的内容解读,代码+实例一看就懂。

图片

  • *Shell脚本*

Shell脚本对于Linux系统管理和自动化运维来说是必不可少的工具。

虽然Shell脚本并不被视为一种标准的编程语言,但它却能显著提升我们的工作效率,因此成为了运维人员必须掌握的重要技能之一。

  • 【马哥教育】精心整理shell脚本100例
  • 109个shell脚本合集
  • Shell脚本编程

图片

【马哥教育】精心整理shell脚本100例

独家精品,代码清晰,拿来即用,很多都是实用脚本,收藏起来不仅自己不用写了,还能提高Shell撰写能力,一举两得!

图片

图片

图片

图片

109个shell脚本合集

不仅有【马哥教育】精心整理shell脚本100例,更有这109个shell脚本合集,实用性满满!

图片

黑客&网络安全如何学习**

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。

内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要见下图即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

本文转自 https://blog.youkuaiyun.com/yy17111342926/article/details/149190716?spm=1001.2014.3001.5502,如有侵权,请联系删除。

<think>嗯,用户需要一份至少包含30条常用Linux命令的列表,包括常用选项和参数,还要参考知乎上的“Linux常用命令解决95%以上的问题”,并且必须包含管道、grep、重定向、网络配置和软件管理命令。首先,我需要确认用户的需求是否明确,他们可能是在准备考试、实验,或者日常使用中需要快速查阅常用命令。 用户提到的来源包括PPT、教材、实验指导书和网络,特别是知乎的那篇文章。这说明他们希望命令列表不仅全面,还要有实用性,覆盖大部分常见问题。之前用户已经得到了一些补充内容,比如软件包管理、用户组管理等,现在需要更详尽的列表,所以需要扩展之前的回答。 接下来,我需要回忆或查找知乎那篇文章的内容,确保覆盖其中提到的命令。同时,必须包含管道、grep、重定向、网络配置和软件管理这些部分。可能还需要检查每个命令的常用选项是否正确,比如ls的-l、-a等,以及网络配置中的ifconfig、ip、netstat等是否都包含进去。 用户之前的历史中有提到软件包管理不同发行版的命令,这里可能需要再次总结,但可能不需要重复,所以重点放在其他部分。比如,文件操作、权限管理、系统监控、搜索过滤、网络相关、压缩解压、用户管理、软件管理、管道和重定向等。 需要确保每个命令都有简明的说明和常用选项,例如tar命令的-zcvf解压和压缩选项,grep的-i、-r、-v等。同时,管道命令的例子可能需要用|结合grep或其他命令来展示,比如ps aux | grep nginx。 还要注意格式,使用中文,行内数学表达式用$...$,但这里可能用不上数学公式,所以主要确保命令和选项的正确排版。每个命令单独列出,用编号,可能分为不同类别,方便用户查找。 后,检查是否满足至少30条命令,可能需要分几个类别,每个类别下若干命令,比如文件操作、权限管理、系统监控等。确保每个类别里的命令都是常用的,覆盖用户提到的各个必要点。此外,用户可能需要实际例子,比如在管道命令中展示组合使用,或者重定向的输入输出示例。 可能需要参考常见的Linux命令列表,结合知乎文章中的重点,确保没有遗漏关键命令。比如curl、wget、ssh这些网络相关命令,以及ps、top、kill等进程管理命令。软件管理部分,不同发行版的命令需要明确标出,如apt、yum、pacman等,但用户之前已经提到过,可能需要简要总结,避免重复过多。 总之,需要结构清晰,分类明确,每个命令有选项和简短示例,确保用户能够快速理解和应用。同时,按照用户要求包含指定的命令类型,检查总数是否达到30条以上,并确保信息准确可靠。</think>以下是**30+ 常用 Linux 命令及核心用法**(参考知乎、教材及实验场景整理),涵盖文件操作、系统管理、网络配置等高频场景: --- ### **一、文件与目录操作** 1. **`ls`** - `ls -l`:长格式显示(权限、大小等) - `ls -a`:显示隐藏文件(如 `.bashrc`) 2. **`cd`** - `cd ..`:返回上级目录 - `cd ~`:回到用户主目录 3. **`pwd`**:显示当前绝对路径 4. **`cp`** - `cp -r dir1 dir2`:递归复制目录 5. **`mv`** - `mv file1 file2`:重命名文件 - `mv file dir/`:移动文件到目录 6. **`rm`** - `rm -rf dir`:强制递归删除目录(⚠️慎用) 7. **`mkdir`** - `mkdir -p dir1/dir2`:递归创建多级目录 8. **`touch`**:创建空文件或更新文件时间戳 --- ### **二、文件查看与编辑** 9. **`cat`** - `cat file1 > file2`:覆盖写入 - `cat file1 >> file2`:追加写入 10. **`less`**:分页查看文件(支持搜索 `/keyword`) 11. **`head`** - `head -n 10 file`:显示文件前10行 12. **`tail`** - `tail -f log.txt`:实时追踪日志更新 --- ### **三、权限管理** 13. **`chmod`** - `chmod 755 file`:设置权限(rwxr-xr-x) - `chmod +x script.sh`:添加可执行权限 14. **`chown`** - `chown user:group file`:修改文件所有者和组 --- ### **四、系统监控与进程管理** 15. **`ps`** - `ps aux`:查看所有进程详细信息 16. **`top`**:实时监控系统资源(CPU、内存等) 17. **`kill`** - `kill -9 PID`:强制终止进程 18. **`df`** - `df -h`:查看磁盘空间(人类可读格式) 19. **`du`** - `du -sh dir`:统计目录总大小 --- ### **五、搜索与过滤** 20. **`grep`**(核心命令) - `grep "error" log.txt`:搜索包含“error”的行 - `grep -i "Error"`:忽略大小写 - `grep -r "pattern" /dir`:递归搜索目录 21. **`find`** - `find / -name "*.conf"`:全局搜索 `.conf` 文件 - `find . -type f -size +10M`:查找大于10MB的文件 --- ### **六、网络配置与调试** 22. **`ifconfig`**(或 `ip addr`):查看网络接口信息 23. **`ping`** - `ping -c 4 baidu.com`:发送4次探测包 24. **`netstat`** - `netstat -tulnp`:查看监听中的端口与进程 25. **`curl`** - `curl -O http://example.com/file`:下载文件 26. **`wget`** - `wget -c URL`:断点续传下载 --- ### **七、压缩与解压** 27. **`tar`** - `tar -zcvf archive.tar.gz dir`:压缩为 `.tar.gz` - `tar -zxvf archive.tar.gz`:解压 28. **`zip`/`unzip`** - `zip -r archive.zip dir`:递归压缩目录 --- ### **八、用户与权限** 29. **`sudo`**:以管理员权限执行命令 30. **`su`** - `su - username`:切换用户并加载环境变量 --- ### **九、管道与重定向** 31. **管道 `|`** - `ps aux | grep nginx`:筛选与“nginx”相关的进程 - `cat log.txt | sort | uniq`:排序并去重 32. **重定向 `>` 和 `>>`** - `echo "Hello" > file.txt`:覆盖写入 - `echo "World" >> file.txt`:追加写入 --- ### **十、软件包管理** 33. **APT(Debian/Ubuntu)** - `apt install nginx`:安装软件 - `apt purge nginx`:彻底卸载 34. **YUM(CentOS/RedHat)** - `yum update`:更新所有软件包 35. **Pacman(Arch)** - `pacman -Syu`:同步仓库并升级系统 --- ### **实战示例组合** - **日志分析**: ```bash cat /var/log/syslog | grep "error" | tail -n 20 > errors.txt ``` - **批量杀进程**: ```bash ps aux | grep "python" | awk '{print $2}' | xargs kill -9 ``` --- **参考来源**:知乎《Linux常用命令解决95%以上的问题》、实验指导书、《鸟哥的Linux私房菜》。输入 `{命令名}` 获取详细用法(如 `{grep}`)!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值