宝塔面板的出现确实给一些站长提供了非常大的帮助,不需要过多的专业知识,就能轻松的搭建一个网站。虽然很多违法网站都是利用宝塔面板进行搭建的,但总有没用宝塔的是吧,那么这个时候我们就要学习一些Linux的基础命令,我这里总结了21个,先入个门道。
一、ls 命令
列出目录下的文件和文件夹名字(不包括隐藏文件)。ls 是 list 的缩写,默认情况下使用ls用来打印出当前目录的列表。举例:相当于我们打开了“本地磁盘 (D:)”,可以看到D盘的所有文件。ls 的参数有很多,这里我列举了3个比较常见的:
1)ls -a:全部的文件,包括隐藏的文件(开头为 . 的文件)一起【横向】排列出来;
2)ls -l:全部的文件一起【纵向】排列出来,但不包括隐藏文件。类似我们在Windows电脑上打开D盘的样子(查看方式为详细信息);
3)ls -R:注意!这里的 R 是大写,递归列出所有的文件和目录,如果还有子文件夹,都会一并列举出来。
[[email protected] ~]# ls
install.sh memcached-3.1.5.tgz package.xml
[[email protected] ~]# ls -a
. .bash_history .bash_profile .cache install.sh package.xml .pki .ssh .viminfo
.. .bash_logout .bashrc .cshrc memcached-3.1.5.tgz .pip .pydistutils.cfg .tcshrc
[[email protected] ~]# ls -l
total 148
-rw-r--r-- 1 root root 26705 Feb 11 2022 install.sh
-rw-r--r-- 1 root root 83015 Feb 18 2020 memcached-3.1.5.tgz
-rw-r--r-- 1 501 games 33674 Aug 9 2022 package.xml
[[email protected] apache]# ls conf/ -R
conf/:
extra httpd.conf httpd.conf.bak magic mime.types original vhost
conf/extra:
httpd-autoindex.conf httpd-default.conf httpd-languages.conf httpd-mpm.conf httpd-ssl.conf httpd-vhosts.conf proxy-html.conf
httpd-dav.conf httpd-info.conf httpd-manual.conf httpd-multilang-errordoc.conf httpd-userdir.conf mod_remoteip.conf
conf/original:
extra httpd.conf
conf/original/extra:
httpd-autoindex.conf httpd-default.conf httpd-languages.conf httpd-mpm.conf httpd-ssl.conf httpd-vhosts.conf
httpd-dav.conf httpd-info.conf httpd-manual.conf httpd-multilang-errordoc.conf httpd-userdir.conf proxy-html.conf
在 Linux 命令中,命令的参数是可以组合的,比如 ls -l 和 ls -a 想一起用达到一个【纵向】排列所有的文件(包含隐藏的文件),我们可以使用 ls -al 或者 ls -la,前后顺序不影响命令的执行。
[[email protected] ~]# ls -al
total 204
dr-xr-x---. 6 root root 4096 Apr 9 15:01 .
dr-xr-xr-x. 21 root root 4096 Jul 8 2022 ..
-rw------- 1 root root 1104 Apr 19 10:19 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 306 Jan 18 21:37 .bash_profile
-rw-r--r-- 1 root root 234 Apr 9 15:01 .bashrc
drwxr-xr-x 3 root root 4096 Jul 11 2019 .cache
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r-- 1 root root 26705 Feb 11 2022 install.sh
-rw-r--r-- 1 root root 83015 Feb 18 2020 memcached-3.1.5.tgz
-rw-r--r-- 1 501 games 33674 Aug 9 2022 package.xml
drwxr-xr-x 2 root root 4096 Nov 30 2021 .pip
drwxr----- 3 root root 4096 Mar 2 2022 .pki
-rw-r--r-- 1 root root 205 Mar 2 2022 .pydistutils.cfg
drwx------ 2 root root 4096 Jul 11 2019 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 643 Aug 9 2022 .viminfo
二、mkdir 命令
1)例:mkdir test ,创建一个名为 test 的文件夹,在执行完这段命令后,没有任何提示说明创建成功。
2)例:mkdir -p test1/test2/test3/test4 ,直接将所有的目录(包含上一级目录)递归创建起来,如果不带 -p 参数的话,系统会将test1/test2/test3/test4 视为一个整体,带 / 的文件名是不被允许创建的,肯定是会报错的。
3)例:mkdir -p test1 test2 test3 test4 ,延续第二点,如果我们要在一个目录下同时创建多个文件夹,我们只需要用空格隔开即可。
三、rmdir 命令
1)例:rmdir test ,如果 test 文件夹是空目录的话,就会删除。如果目录下有文件或子文件夹,是删不掉的。
2)例:rmdir -p test1/test2/test3/test4 ,连同上一级【空】目录也一起删除,如果任意一个文件夹下有文件(不是空目录),都是删不掉的。这里是不是就可以使用 ls -R 命令递归展示一下,查看哪个目录有文件呢?
四、cd 命令
cd 命令是我们在分析服务器镜像过程中使用最多的命令之一了,这里大家需要了解两个概念:
1、绝对路径:也就是完整路径,由根目录 / 写起,例:cd /www/wwwroot,切换到 wwwroot 目录下;
2、相对路径:不是由 / 写起,假如你已经 cd 到了 www 目录下,你就没有必要在按照上面的写法,去切换到下级目录了。例:cd wwwroot/,当然你用绝对路径去切换也是没有问题的。
[[email protected] /]# cd /www/wwwroot/
[[email protected] wwwroot]# ll
total 12
drwxr-xr-x 2 www www 4096 Mar 2 2022 default
drwxr-xr-x 5 www www 4096 Apr 17 15:22 goyasha
[[email protected] wwwroot]# cd .. >> 切换到上一级目录
/**
* 这里给大家推荐几个常见的
*
* cd 进入用户主目录,cd .. 返回上一级目录,cd ../.. 返回上两级目录,cd / 进入跟目录
*/
[[email protected] www]# cd wwwroot/
[[email protected] wwwroot]# ll
total 12
drwxr-xr-x 2 www www 4096 Mar 2 2022 default
drwxr-xr-x 5 www www 4096 Apr 17 15:22 goyasha
五、pwd 命令
pwd 查看当前所在的绝对路径,这个大家不要以为是 password 的含义哈~ 如果大家在切换目录的过程中,不知道切到那个目录下了,可以使用 pwd 命令查看你现在所处目录的完整路径。
六、vi / vim 命令
vi 其实就是一个文本编辑器,相当于Windows系统中的“记事本”。但 vi 编辑的文件是没有颜色的,vim 所展示的代码是有颜色的,其他功能没区别。相当于 vi 是 记事本,vim 是 notepad++ 编辑器。

例:vi goyasha.php,如果文件存在则打开编辑,如果文件不存在则创建它。vi / vim 进去有两种模式:
1)Insert 编辑模式:你如果要修改某个内容,需要点击键盘的 Ins(Insert)或 字母 i / a / o,任意一个进入编辑模式。左下角会有 Insert 标记。

2)Esc 命令模式:点击键盘左上角的 ESC,左下角的标志 INSERT 消失,届时就可以操作保存、退出等操作了。
在 ESC 命令模式下,可以输入 q 退出程序,输入 w 保存文件,! 为强制。当然这些是可以组合使用的,例如:wq 保存并退出,wq! 强制保存并退出,q! 强制退出,G(大写的g,命令模式下开启大写)按一下就跳转到最后一行,GG 按两下跳转到第一行。
七、cat 命令
cat 表示只读状态下查看文件内容,无法进行编辑(编辑用上面的),cat 跟 vi 是有区别的,cat 直接可以展示文件内容,不用像 vi 一样进入到文件里面才能查看编辑。
比较常用的参数为 cat -n xxx.log ,显示文件的行号。但是需要注意的是,如果你不知道文件有多少行,请不要使用 -n 这个参数,否者就会一直刷屏到最后一行。有时候可能网上说某某配置的第123行需要修改,如果不带 -n 参数的话你找不到第123行在哪里。
[[email protected] wwwlogs]# cat -n ***-error_log
cat: 30: No such file or directory
1 [Tue Mar 08 17:11:09.525607 2022] [autoindex:error] [pid 20791:tid 140599722362624] [client ***:62925] AH01276: Cannot serve directory /www/wwwroot/***/: No matching DirectoryIndex (index.php,index.html,index.htm,default.php,default.html,default.htm) found, and server-generated directory index forbidden by Options directive
2 [Tue Mar 08 17:11:11.085031 2022] [autoindex:error] [pid 20791:tid 140599629960960] [client ***:62924] AH01276: Cannot serve directory /www/wwwroot/***/: No matching DirectoryIndex (index.php,index.html,index.htm,default.php,default.html,default.htm) found, and server-generated directory index forbidden by Options directive
3 [Tue Mar 22 06:20:57.052529 2022] [core:error] [pid 24811:tid 140599739148032] [client ***:46280] AH10244: invalid URI path (/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/hosts)