程序员常用的Linux命令

650 篇文章 11 订阅
181 篇文章 8 订阅

在 Linux 的世界中,命令行界面(CLI)是用户与操作系统交互的强大工具。它不仅为经验丰富的系统管理员提供了高效的操作方式,也为初学者打开了深入理解操作系统运作的大门。本文将引导你了解 Linux 上一些最常用的命令,帮助你在命令行中游刃有余。

文件和目录操作

ls :

用法:ls [选项][目录]

描述:列出目录的内容。

选项:

  • -l : 显示详细信息。

  • -a : 展示所有文件包含隐藏文件。

  • -h : 以易读的格式显示文件大小。

cd (切换目录):

用法:cd [目录]

描述:将当前工作目录更改为指定的目录。

pwd (打印工作目录):

用法:pwd

描述:打印当前工作目录,显示完整路径。

mkdir (创建目录):

用法:mkdir [目录]

描述:创建一个指定名称的新目录。

cp (复制):

用法:cp [选项] 源 目的地

描述:将文件或目录从源复制到目的地。

选项:

  • -r :递归复制目录。

  • -i :在覆盖前提示。

mv (移动):

用法:mv [选项] 源地址 目的地地址

描述:将文件或目录从源位置移动到目的位置,或重命名文件。

rm (删除):

用法:rm [选项] 文件

描述:删除文件或目录。

选项:

  • -r : 递归删除目录及其内容。

  • -f 忽略不存在的文件且不提示。

touch :

用法: touch [选项] 文件

描述: 创建一个空文件或更新文件的访问和修改时间。

用户管理

在类 Unix 操作系统中,sudo 命令用于以超级用户或 sudoers 文件中配置的安全策略指定的另一个用户的身份执行命令。以下是 sudo 的基本用法:

sudo [OPTION] COMMAND [ARGUMENTS...]   
  • OPTION: sudo 的可选标志或选项。

  • COMMAND : 需要执行的命令。

  • ARGUMENTS : 需要执行命令所需的任何参数或选项。

使用示例:

1.以超级用户身份运行命令:

sudo ls /root   

此命令以超级用户权限运行 ls 命令,允许其列出通常仅限于 root 用户访问的/root 目录的内容。

2. 编辑系统配置文件:

sudo nano /etc/nginx/nginx.conf   

此示例使用 Nano 文本编辑器打开 NGINX 配置文件进行编辑。编辑系统配置文件通常需要超级用户权限。

3. 安装软件:

sudo apt-get install nginx   

sudo 命令通常与包管理工具一起使用,例如在基于 Debian 的系统上的 apt-get,用于安装或删除软件。

4. 重启系统服务:

sudo systemctl restart apache2   

重启系统服务(如 Apache)通常需要超级用户权限。sudo 允许您执行此类操作。

5. 以另一个用户身份运行命令:

sudo -u username command   

使用-u 选项以指定的用户身份运行命令。将 username 替换为所需的用户名。

文本操作

cat :

用法: cat [file]

描述: 显示文件的内容。

nano and vim :

用法: nano [file] or vim [file]

描述:用于创建或编辑文件的文本编辑器。它们具有不同的用户界面和功能。

grep :

用法: grep [options] pattern [file]

描述: 一个强大的文本搜索工具,用于在输入数据或文件中搜索包含指定模式的行,并将匹配的行打印出来。grep 命令支持正则表达式,这让它在搜索文本时变得非常灵活和强大。

选项:

  • -i : 忽略大小写。

  • -r : 在目录中递归搜索。

sed:

用法: sed [options] 's/pattern/replacement/' file

描述: 一个强大的文本处理工具,主要用于自动编辑一个或多个文件、标准输入数据,或者文件流。

示例: sed 's/old/new/' filename

awk :

用法: awk 'pattern { action }' file

描述: 一个强大的文本分析工具,用于处理数据和生成报告。

系统信息

top or htop( 显示实时系统统计信息):

用法: top

用法: htop

描述: top 和 htop 都显示实时系统统计信息,包括有关进程、CPU 使用率、内存使用率和系统资源分配的信息。

free( 展示系统中空闲内存和已使用的内存量):

用法: free [options]

描述: free 命令提供有关系统内存使用情况的信息,显示总内存、已使用内存和空闲内存(以千字节为单位)。可以使用诸如-h 之类的选项以易读的格式输出。

示例: free -h

df : (展示磁盘使用情况):

用法 : df [options] [file|directory]

描述: df 命令显示文件系统的磁盘空间使用情况。添加-h 选项提供易读的输出。

示例 : df -h

进程管理

ps : (展示当前活跃进程的信息):

用法: ps [options]

描述: ps 命令提供了当前运行进程的信息。它显示诸如进程 ID(PID)、与进程关联的终端、CPU 和内存使用情况以及启动进程的命令等信息。

选项:

  • -e : 显示所有进程的信息。

  • -f : 完整格式列表。

  • -u user : 显示特定用户进程的信息。

kill : (向进程发送信号)

用法: kill [signal] PID

描述: kill 命令向进程发送信号,允许执行各种操作,如终止、停止或重新加载。默认信号是 SIGTERM,它优雅地终止进程。使用 SIGKILL 进行强制终止。

示例: kill 1234 (终止 PID 为 1234 的进程)

pkill : (基于名称杀死进程) :

用法: pkill [options] pattern

描述: pkill 命令根据其名称向进程发送信号。它终止与指定模式匹配的进程。

选项:

  • -signal : 指定要发送的信号。

  • -u username :将操作限制为特定用户拥有的进程。

示例: pkill -TERM firefox (终止所有名为’firefox’的进程)

SSH (Secure shell)

ssh : (安全地连接到远程服务器):

用法: ssh [user@]hostname [options]

描述: sh 命令建立到远程服务器的安全外壳连接。它提示用户输入密码或使用基于密钥的认证。一旦连接,用户就可以在远程服务器的 shell 上执行命令。

选项:

  • -p port : 指定要连接的端口(默认是 22)。

  • -i identity_file : 身份文件 : 指定用于认证的私钥文件。

示例: ssh user@example.com (作为用户“user”连接到远程服务器“example.com”)

scp : (通过 SSH 在本地和远程机器之间复制文件):

用法: scp [options] source destination

描述: scp 命令通过 SSH 安全地在本地和远程机器之间复制文件。它支持将文件复制到和从远程服务器,以及在两个远程服务器之间复制。

选项:

  • -P port : 指定远程服务器上的端口。

  • -r : 递归复制整个目录。

示例:

  • 将本地文件复制到远程服务器:
scp localfile.txt user@example.com:/path/to/destination/   
  • 将远程服务器上的文件复制到本地机器:
scp user@example.com:/path/to/remotefile.txt /local/destination/   

文件压缩和归档

tar : (创建和提取 tar 归档文件):

创建 tar 归档文件:

用法: tar -cvf archive.tar [files/directories]

描述: tar 命令用于创建 tar 归档文件。这里使用的选项是:

  • -c : 创建一个新归档文件。

  • -v : 在处理文件时列出详细信息。

  • -f : 使用指定的归档文件(在这种情况下是“归档文件.tar”)。

示例: tar -cvf archive.tar file1.txt dir1/

提取 tar 归档文件:

  • 用法: tar -xvf archive.tar [files/directories]

描述: 使用不同选项的 tar 命令(-x 用于提取)从 tar 归档文件中提取文件。

示例: tar -xvf archive.tar

gzip (GNU Zip) :

压缩:

  • 用法: gzip [options] file

描述:gzip 压缩文件,并用带.gz 扩展名的压缩版本替换它们。

示例: gzip myfile.txt (创建 myfile.txt.gz )

解压缩:

用法: gzip -d file.gz or gunzip file.gz

描述: 解压缩使用 gzip 压缩的文件。

示例: gunzip myfile.txt.gz (Restores myfile.txt )

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

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

1.学习路线图

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

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

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

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

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

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

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

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

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

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

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

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

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

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

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

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

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

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值