222天 Jacksunhack

重要的人越来越少,剩下的人也越来越重要 ​​

Linux基础❤命令篇—Shell 提示说明及帮助0x03

发布于 5个月前 / 169 次围观 / 0 条评论 / Linux基础 / Chiriri

bash提示易于理解,并且默认情况下包含诸如用户,主机名和当前工作目录之类的信息。格式如下所示:

<username>@<hostname><current working directory>$

用户的主目录标记有波浪号< ~>,并且是您登录时的默认文件夹。

<username>@<hostname>[~]$

在这种情况下,$符号代表用户。当我们以身份登录后root,该字符将更改为hash#>,如下所示:

root@whoami[/whoami]#

我们在此处看到的内容与在Windows GUI上使用时的内容相同。我们以用户的身份登录到具有特定名称的计算机上,并且在浏览系统时我们知道我们位于哪个目录中。Bash提示也可以自定义并更改为我们自己的需求。bash提示的调整超出了此模块的范围。但是,我们可以看一下bashrcgeneratorpowerline,这使我们有可能使提示适应我们的需求。


获得帮助

我们将始终偶然发现那些从内存中无法得知其可选参数的工具或我们从未见过的工具。因此,了解我们如何能够帮助自己熟悉这些工具至关重要。前两种方式是手册页和帮助功能。

熟悉我们要首先尝试的工具总是一个好主意。我们还将使用我们认为不可能的一些工具来学习一些可能的技巧。在手册页中,我们将找到带有详细说明的详细手册。

语 法:

Chiriri@whoami[/whoami]$ man <tool>

让我们看一个例子:

Chiriri@whoami[/whoami]$ man curl
curl(1)                                                             Curl Manual                                                            curl(1)

NAME
       curl - transfer a URL

SYNOPSIS
       curl [options] [URL...]

DESCRIPTION
       curl  is  a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS,  
       IMAP, IMAPS,  LDAP,  LDAPS,  POP3,  POP3S,  RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, and TFTP). The command is designed to work without user interaction.

       curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink,  and more. As we will see below, the number of features will make our head spin!

       curl is powered by libcurl for all transfer-related features.  See libcurl(3) for details.

Manual page curl(1) line 1 (press h for help or q to quit)

在查看了一些示例之后,我们也可以快速查看可选参数,而无需浏览完整的文档。我们有几种方法可以做到这一点。

语 法:

Chiriri@whoami[/whoami]$ <tool> --help

例子:

Chiriri@whoami[/whoami]$ curl --help

Usage: curl [options...] <url>
     --abstract-unix-socket <path> Connect via abstract Unix domain socket
     --anyauth       Pick any authentication method
 -a, --append        Append to target file when uploading
     --basic         Use HTTP Basic Authentication
     --cacert <file> CA certificate to verify peer against
     --capath <dir>  CA directory to verify peer against
 -E, --cert <certificate[:password]> Client certificate file and password
<SNIP>

您也可以使用它的简短版本:

法:

Chiriri@whoami[/whoami]$ <tool> -h

例:

Chiriri@whoami[/whoami]$ curl -h

Usage: curl [options...] <url>
     --abstract-unix-socket <path> Connect via abstract Unix domain socket
     --anyauth       Pick any authentication method
 -a, --append        Append to target file when uploading
     --basic         Use HTTP Basic Authentication
     --cacert <file> CA certificate to verify peer against
     --capath <dir>  CA directory to verify peer against
 -E, --cert <certificate[:password]> Client certificate file and password
<SNIP>

我们可以看到,在此示例中,彼此的结果没有差异。开始时可能有用的另一个工具是apropos。每个手册页中都有简短说明。该工具在描述中搜索给定关键字的实例。

法:

Chiriri@whoami[/whoami]$ apropos <keyword>

例:

Chiriri@whoami[/whoami]$ apropos sudo

sudo (8)             - execute a command as another user
sudo.conf (5)        - configuration for sudo front end
sudo_plugin (8)      - Sudo Plugin API
sudo_root (8)        - How to run administrative commands
sudoedit (8)         - execute a command as another user
sudoers (5)          - default sudo security policy plugin
sudoreplay (8)       - replay sudo session logs
visudo (8)           - edit the sudoers file

如果我们在理解长命令时遇到问题,获得帮助的另一个有用资源是:explainshell  或者 runoob (大陆用这个)

备忘单列表如下:

命令描述
 man <tool>打开指定工具的手册页。
<tool> -h打印工具的帮助页面。
apropos <keyword>在手册页的描述中搜索给定关键字的实例。
cat连接并打印文件。
whoami显示当前的用户名。
id返回用户身份。
hostname设置或打印当前主机系统的名称。
uname打印操作系统名称。
pwd返回工作目录名称。
ifconfigifconfig实用程序用于为网络接口分配或查看地址和/或配置网络接口参数。
ipip是显示或操纵路由,网络设备,接口和隧道的实用程序。
netstat显示网络状态。
ss另一个研究套接字的实用程序。
ps显示过程状态。
who显示谁登录。
env打印环境或设置并执行命令。
lsblk列出块设备。
lsusb列出USB设备。
lsof列出打开的文件。
lspci列出PCI设备。
sudo以其他用户身份执行命令。
susu实用程序通过PAM请求适当的用户凭据,并切换到该用户ID(默认用户是超级用户)。然后执行一个shell。
useradd创建一个新用户或更新默认的新用户信息。
userdel删除用户帐户和相关文件。
usermod修改用户帐户。
addgroup将组添加到系统。
delgroup从系统中删除组。
passwd修改用户密码。
dpkg安装,删除和配置基于Debian的软件包。
apt高级软件包管理命令行实用程序。
aptitude替代apt
snap安装,删除和配置快照软件包。
gemRuby的标准软件包管理器。
pipPython的标准软件包管理器。
git版本控制系统命令行实用程序。
systemctl基于命令行的服务和systemd控制管理器。
ps打印当前进程的快照。
journalctl查询系统日志。
kill向过程发送信号。
bg将过程置于后台。
jobs列出在后台运行的所有进程。
fg将流程置于前台。
curl命令行实用程序,用于从服务器传输数据或向服务器传输数据。
wget替代方法curl是从FTP或HTTP服务器下载文件。
python3 -m http.server在TCP端口8000上启动Python3 Web服务器。
ls列出目录内容。
cd更改目录。
clear清除终端。
touch创建一个空文件。
mkdir创建目录。
tree递归列出目录的内容。
mv移动或重命名文件或目录。
cp复制文件或目录。
nano基于终端的文本编辑器。
which返回文件或链接的路径。
find搜索目录层次结构中的文件。
updatedb更新系统上现有内容的语言环境数据库。
locate使用语言环境数据库来查找系统上的内容。
more用于读取STDOUT或文件的寻呼机。
lessmore具有更多功能的替代品。
head打印STDOUT的前十行或文件。
tail打印STDOUT或文件的最后十行。
sort对STDOUT或文件的内容进行排序。
grep搜索包含给定模式的特定结果。
cut从文件的每一行中删除节。
tr替换某些字符。
column基于命令行的实用程序,可将其输入格式化为多列。
awk模式扫描和处理语言。
sed流过滤器,用于过滤和转换文本。
wc打印给定输入的换行符,单词和字节数。
chmod更改文件或目录的权限。
chown更改文件或目录的所有者和组。

备忘单下载:

右方下载→