最近写了一些关于在 Linux 系统上配置 Web 服务器的操作手册,我希望大伙都能去试一下,遇到问题可以一起想办法解决,这样你会很快学会 Linux 的基本操作,去配置一个可以使用的 Web 运行环境,也不再恐惧命令行工具。你可以在自己电脑上安装虚拟机,比如 Virtual Box。使用 Linux 系统(推荐 CentOS 系统)。或者去购买一台云服务器,按月付或者按天付的那种,一个月最低几十块钱。我推荐大家去购买一台云服务器。国内可以使用阿里云,国外可以试试 DigitalOcean 或者 Linode 。
如果你是宁皓网的付费用户,可以参考 《 CentOS : 在阿里云上运行网站 》这个课程,如果不是,可以跟随下面这个入门手册。
Linux 的基本操作
好,你现在有了一台 Linux 系统的服务器,因为不同类型的 Linux 的操作会不太一样,以下,我都假设你用的是 CentOS 系统。
远程控制
一般你需要远程去操作你的服务器,这不像控制 Windows 服务器那样,有个远程控制的图形界面,控制 Linux 系统的服务器,你需要使用命令行工具。 Windows 用户需要安装 Putty 这个小工具,Mac 用户可以直接使用系统自带的终端工具。
Windows 使用 Putty
- 下载 Putty 以后,运行它。
- Host Name 里输入服务器的 IP 地址。
- Connection type 选择 SSH,然后点击 Open。
- 第一次连接服务器,会出现一个警告提示,点击 是。
- 打开命令行窗口后,提示 login as: ,在这里输入你想要使用服务器上的哪个用户进行登录,可以使用 root 用户。输入 root。
- 提示输入 root 用户的密码,输入密码,然后回车。
- 登录成功!现在你可以继续使用命令去控制服务器了。
Mac 用户使用终端工具
- 打开 Launchpad ,在 其它 这里可以打开 终端 工具。或者在 应用程序 - 实用工具 这里找到 终端 这个小工具。
- 输入 ssh root@x.x.x.x,使用 ssh 命令,用 root 用户身份,登录到 x.x.x.x 这个服务器,你可以把 x.x.x.x 换成你的服务器的 IP 地址,或者指向这个 IP 地址的域名。回车!
- 提示输入 root 用户的密码,注意输入密码的时候,屏幕上不会显示任何的东西,完成以后,回车!
- 登录成功!
目录与文件
平时我们用的操作系统有图形界面,对目录与文件的操作是非常直观的,但我们使用命令行工具去做的时候,就要使用对应的命令了,比如 cd 命令进入到某个目录,cp 命令去复制,rm 命令去删除,ls 命令可以列出目录里的东西。
查看你当前所在的位置 pwd( print working directory )
pwd
会返回当前的位置,例如:
/root
改变你所在的目录位置 cd( change directory )
cd /home
会让你进入到根目录下面的 home 这个目录里面,/ 表示根目录,如果用 pwd 查看一下会返回:
/home
列出目录里的东西 ls
ls
ls 命令应该是 list 的简称,列出的意思,这个命令可以配合一些参数,例如:
ls -la
这样会使用更详细的形式列出文件与目录,并且会包含目录里面隐藏的文件,l 表示 long,a 表示 all 。在命令的后面你可以指定具体要列出的目录,例如:
ls -la /usr/local
这会列出在系统根目录下面的 usr 目录下面的 local 这个目录里的所有的东西。如果想查看命令详细的使用说明,可以加上 --help 参数:
ls --help
现在,你已经学会了一个简单的 ls 命令去列出目录里的东西,在使用其它命令的时候,你也可以这样来用,你知道命令的后面可以添加一些参数,去做更具体的事情,想得到命令的使用说明,就去在命令后面添加一个 --help 参数,命令的后面也可以添加更具体的信息,比如一个目录的位置,一个文件的名称等等。
创建目录 mkdir( make directory )
mkdir
下面,我们可以在你当前所在的位置去创建一个新的目录,记得使用 pwd 命令确定一下你的位置:
mkdir www
上面这行命令会在当前位置上去创建一个叫 www 的目录。使用 ls 命令,可以查看一下当前目录里面的东西。
删除目录或文件 rm( remove )
rm
在命令的后面,加上你想要删除的东西,可能是一个目录的名称,或者一个文件的名称。注意想要删除目录的时候,你需要添加两个参数:
rm -rf www
这里,r 参数可以让 rm 命令递归删除目录及其内容,f 参数是 force ,表示强制删除。合起来这行命令的意思是,递归的强制删除 www 这个目录,以及这个目录里面的所有的东西。
编辑文件
linux 系统里面有很多工具可以去编辑文件,下面介绍一下vim :
vim hello.txt
上面的命令会去编辑当前目录下面的 hello.txt 这个文件,如果这个文件不存在,会打开一个空白的文件,这样你在保存并退出以后 ,就可以创建一个叫做 hello.txt 的文件。vim 工具的使用需要配合一些按键,比如打开文件以后,你想编辑这个文件,可以进入到编辑模式,按一下键盘上的 i 键,然后用上下左右按键去浏览到文件的某个位置上。编辑好以后,要按一下 esc 键,退出编辑模式,然后输入 : (冒号),再输入 wq ,表示保存并退出。如果你不想保存所做的修改,可以输入 : q 。有的时候,在编辑一些只读文件,你需要再添加一个 ! ,比如 :wq! ,或者 q! 。
- i ,输入编辑模式。
- esc,退出模式。
- :wq,保存文件并退出。
- :wq!,强制保存并退出。
- :q,直接退出不保存修改。
- /,可以进行搜索,在 / 后面加上要搜索的文字,然后回车。
- n,可以查找下一处。
- N,可以查找上一处。
- ctrl+f,向后翻页。
- ctrl+b,向前翻页。
详细的使用说明,可以查看 vim 命令的帮助,vim --help 。
移动/重命名目录或文件 mv( move )
移动或重命名目录或者文件,使用的是同一个命令:
mv 要移动的目录/文件 移动之后的目录/文件
在这个后面先指一定想要移动的目录或者文件的位置,一个空格,后面再加上移动以后的目录和文件所在的位置。这里我们得先理解一下几个路径的意思:
/
表示系统的根目录。
~
表示当前所登录的用户的主目录。
.
一个点表示当前的目录。
../
两个点加一个斜线,表示上一级目录。
../../
表示上两级目录。知道了这些,我们就可以去移动目录或文件了。
mv www www1
上面这行命令的意思是,把当前目录里面的 www 这个目录重命名为 www1 。
mv www1 ../
这样会把 www1 这个目录移动到当前目录的上一级目录下面,你可以进入到当前目录的上一级目录:
cd ../
然后列出目录里面的东西:
ls
看到 www1 目录了吗?删除它可以使用 rm 命令加上 rf 参数:
rm -rf www
再用 ls 看一下,是不是 www1 已经不在了。* 号表示所有的文件或目录,比如你想把某个目录下面的所有的目录或文件移动到某个地方,可以这样:
mv /home/www/drupal/* /home/www/ninghao
上面命令会把 /home/www/drupal 里面的东西全部都移动到 /home/www/ninghao 这个目录里面。
复制目录或文件 cp( copy )
cp 要复制的东西 要复制到哪里
比如你当前目录下面有一个 hello.txt 文件,你想复制一份,复制以后的文件叫 hello.bak ,可以这样:
cp hello.txt hello.bak
你想把 hello.bak 复制到某个目录的下面:
cp hello.bak /home/bak
这样会把 hello.bak 这个文件复制到 /home/bak 里面,注意,bak 这个目录必须已经存在了。
复制目录,你需要添加一个 -R 的参数,它会递归的去复制目录以及目录里面的所有的东西。比如要把 www 这个目录复制一份,复制以后的目录名是 www1:
cp -R www www1
总结
暂时就先总结这些,都是比较基础的目录与文件的操作,但又非常的重要。在配置服务器的时候,都会经常用到这些命令,多动手练习一下,掌握它们。
服务器 CentOS
评论
要记住太多命令了,头疼,偶看现在用WinSCP远程管理Linux服务器,确实好用,新手可以试试。
10 年 8 个月 以前
哎呀,不要用图形界面,练练这些命令吧 :)
10 年 8 个月 以前
请问 你的一套课程里 有免费的 有权限设置的
是用 content access 做的么 还是自己写的模块
还是其他方法
10 年 8 个月 以前
content access
10 年 8 个月 以前
想学linux,每次到命令这就卡住了,命令太多,用man又全是英文。。。难受啊。
10 年 8 个月 以前
content access 没有权限的页面 会显示 “拒绝访问” 。 是
admin/config/system/site-information这里“默认禁止访问(403错误)页面” 这里设置 没有权限的页面么。这里好像是所有没有权限的页面显示的页面。
有没有专门是 content access 设置的没有访问权限的 模块或设置方法。用page manager 或者 views 有可能实现显示其他页面么
10 年 8 个月 以前
最关键的是 用了 content access 用views 输出标题 如果没有权限 直接不显示了
10 年 8 个月 以前
打开你想要编辑的 Views,在 高级 区域里,找到 查询设置,然后勾选一下 停止SQL重写。这样会为你解决权限的问题。
10 年 8 个月 以前
更新很快, 都是干货, 支持啊!
10 年 8 个月 以前
练习一下看看,遇到问题一起解决下。
10 年 8 个月 以前
浩哥,我的阿里云服务器已经有挂载点了,而当使用“yum install httpd”命令安装Apache服务器时,却没反应。这是咋回事儿呀?
10 年 4 个月 以前
用的是 CentOS 的系统吗?
10 年 4 个月 以前