VPN技术 · 2023年11月10日

Shell常用命令

Shell基本命令

Shell基本命令

几个基本的shell命令,用ssh管理主机必备。
1.ls 列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件

[root@restoretmp steph]# ls file.html public_html test [root@restoretmp steph]# 参数: ls -a 列出所有文件,包括隐藏文件 [root@restoretmp steph]# ls -a .  ..  .bash_logout  .bash_profile  .bashrc  file.html public_html  test [root@restoretmp steph]# ls -l 列出所有者 大小 文件权限 修改日期 ls -R 递归列出所有子目录的内容
  1. cd 转移目录
cd /home/steph 将转移到/home/steph cd .. 上移一个目录 cd 回到根目录
  1. 建立新文件和文件夹
touch new-filename 建立新文件 mkdir new-directory 建立新目录

4.删除文件和目录

rm filename 删除名为 filename的文件 rmdir foldername 删除名为foldername的目录

5.修改文件夹权限

chmod 755 foldername 将把名为foldername的文件夹的权限修改为755

6.修改用户

chown steph:steph file.html 把file.html的用户修改为steph:steph
  1. 压缩和解压缩文件
gzip 和 gunzip  压缩: gzip  filename 文件即会被压缩,并被保存为 filename.gz  解压缩: gunzip filename.gz filename.gz 会被删除,而继之以 filename 可以通过命令man gip 和man gunzip获得命令的详细说明.  zip 和 unzip 要使用 zip 来压缩文件,在 shell 提示下键入下面的命令: zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

要解压缩 zip 文件的内容,键入以下命令:

unzip filename.zip

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

运行FTP Wget实现上传下载
1. 用FTP将服务器上的文件上传到其他服务器

[root]$ ftp     /*启用FTP客户端 ftp> open  202.103.1.2   /*打开远程服务器IP Connected to 202.103.1.2. 220 ProFTPD 1.2.9 Server ready. Name (218.93.205.112:qqroot): user  /*输入用户名 331 Password required for oran. Password:                  /*输入密码 230 User oran logged in. put idcspy.tar.gz idcspy.tar.gz

/*这是关键,put是上传命令,第一个idcspy.tar.gz是本地文件名,第二个是远程文件名。。意思就是把本地的idcspy.tar.gz上传到远程FTP里,并且命名为idcspy.tar.gz这样,SSH就可以自己上传了。你就可以做别的事情了。

  1. Wget下载文件

使用方法:

wget的使用形式是:

wget [参数列表] URL

首先来介绍一下wget的主要参数:

· -b:让wget在后台运行,记录文件写在当前目录下”wget-log”文件中;

· -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次。比如”-t

120〃表示尝试120次。当这一项为”0〃的时候,指定尝试无穷多次直到连接成功为止,这个

设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续

下载没有传完的文件;

· -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中

途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使

用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/Linux的Web/FTP服务器

都支持断点续传;

· -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接

,开始下一次尝试。比如”-T

120〃表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比

较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常

也不少于60,一般设置在120左右比较合适;

· -w [number of seconds]:在两次尝试之间等待多少秒,比如”-w 100〃表示两次尝试

之间等待100秒;

· -Y on/off:通过/不通过代理服务器进行连接;

· -Q [byetes]:限制下载文件的总大小最多不能超过多少,比如”-Q2k”表示不能超过2K

字节,”-Q3m”表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单

位,比如”-Q200〃表示最多不能超过200字节;

· -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;

· –http-user=username  · –http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;  · –proxy-user=username  · –proxy-passwd=password:如果代理服务器需要输入用户名和口令,使用这两个选项  ;

· -r:在本机建立服务器端目录结构;

· -l [depth]:下载远程服务器目录结构的深度,例如”-l 5〃下载目录深度小于或者等

于5以内的目录结构或者文件;

· -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设

定其他合适的选项以便于站点镜像;

· -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们

假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载

这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来,这显然是

我们通常不希望的;

ü 如何设定wget所使用的代理服务器

wget可以使用用户设置文件”.wgetrc”来读取很多设置,我们这里主要利用这个文件来是

设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的”.wgetrc”文件就起

作用。例如,”root”用户如果想使用”.wgetrc”来设置代理服务器,”/root/.wgert”就起

作用,下面给出一个”.wge

trc”文件的内容,读者可以参照这个例子来编写自己的”wgetrc”文件:

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定

HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

第二篇:

$ wget –help

GNU Wget 1.9.1,非交互式的网络文件下载工具。

用法: wget [选项]… [URL]…

长选项必须用的参数在使用短选项时也是必须的。

启动:

-V, –version      显示 Wget 的版本并且退出。  -h, –help       打印此帮助。  -b, -background     启动后进入后台操作。  -e, -execute=COMMAND  运行‘.wgetrc’形式的命令。

日志记录及输入文件:

-o, –output-file=文件   将日志消息写入到指定文件中。  -a, –append-output=文件  将日志消息追加到指定文件的末端。  -d, –debug        打印调试输出。  -q, –quiet        安静模式(不输出信息)。  -v, –verbose        详细输出模式(默认)。  -nv, –non-verbose     关闭详细输出模式,但不进入安静模式。  -i, –input-file=文件   下载从指定文件中找到的 URL。  -F, –force-html      以 HTML 方式处理输入文件。  -B, –base=URL       使用 -F -i 文件选项时,在相对链接前添加指定的 URL。

下载:

-t, –tries=次数       配置重试次数(0 表示无限)。  –retry-connrefused   即使拒绝连接也重试。  -O  –output-document=文件  将数据写入此文件中。  -nc, –no-clobber       不更改已经存在的文件,也不使用在文件名后  添加 .#(# 为数字)的方法写入新的文件。  -c, –continue        继续接收已下载了一部分的文件。  –progress=方式     选择下载进度的表示方式。  -N, –timestamping      除非远程文件较新,否则不再取回。  -S, –server-response    显示服务器回应消息。  –spider         不下载任何数据。  -U, –user-agent=AGENT  标志为 AGENT 而不是 Wget/VERSION。  –no-http-keep-alive 禁用 HTTP keep-alive(持久性连接)。  –cookies=off     禁用 cookie。  –load-cookies=文件 会话开始前由指定文件载入 cookie。  –save-cookies=文件 会话结束后将 cookie 保存至指定文件。  –post-data=字符串 使用 POST 方法,发送指定字符串。  –post-file=文件   使用 POST 方法,发送指定文件中的内容。

HTTPS (SSL) 选项:

–sslcertfile=文件   可选的客户段端证书。  –sslcertkey=密钥文件 对此证书可选的“密钥文件”。  –egd-file=文件    EGD socket 文件名。  –sslcadir=目录     CA 散列表所在的目录。  –sslcafile=文件   包含 CA 的文件。  –sslcerttype=0/1   Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)  –sslcheckcert=0/1   根据提供的 CA 检查服务器的证书  –sslprotocol=0-3   选择 SSL 协议;0=自动选择,  1=SSLv2 2=SSLv3 3=TLSv1

FTP 选项:

-nr, –dont-remove-listing  不删除“.listing”文件。  -g, –glob=on/off      设置是否展开有通配符的文件名。  –passive-ftp      使用“被动”传输模式。  –retr-symlinks     在递归模式中,下载链接所指示的文件(连至目录  则例外)。  递归下载:  -r, –recursive     递归下载。  -l, –level=数字     最大递归深度(inf 或 0 表示无限)。  –delete-after    删除下载后的文件。  -k, –convert-links   将绝对链接转换为相对链接。  -K, –backup-converted  转换文件 X 前先将其备份为 X.orig。  -m, –mirror       等效于 -r -N -l inf -nr 的选项。  -p, –page-requisites  下载所有显示完整网页所需的文件,例如图像。  –strict-comments  打开对 HTML 备注的严格(SGML)处理选项。  递归下载时有关接受/拒绝的选项:  -A, –accept=列表        接受的文件样式列表,以逗号分隔。  -R, –reject=列表        排除的文件样式列表,以逗号分隔。  -D, –domains=列表        接受的域列表,以逗号分隔。  –exclude-domains=列表    排除的域列表,以逗号分隔。  –follow-ftp         跟随 HTML 文件中的 FTP 链接。  –follow-tags=列表      要跟随的 HTML 标记,以逗号分隔。  -G, –ignore-tags=列表      要忽略的 HTML 标记,以逗号分隔。  -H, –span-hosts         递归时可进入其它主机。  -L, –relative          只跟随相对链接。  -I, –include-directories=列表  要下载的目录列表。  -X, –exclude-directories=列表  要排除的目录列表。  -np, –no-parent         不搜索上层目录。

Vi指令大全—-编辑文件

进入vi的命令

vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.