LPI

By admin, 24 七月, 2018

1. Windows、Mac、Linux的区别

Windows拥有绝大部分的市场份额,可以认为个人计算机的普及是比尔盖茨创立的微软从DOS到Windows发布的一系列操作系统的功劳。对于一般用户来说,Windows是最合适的选择。Windows有更丰富的软件。绝大部分的PC游戏都是针对Windows平台开发的。过去国内的网银也只支持Windows。

Mac的优势在于设计和硬件能力。Mac的操作系统基于BSD,属于Unix家族,因而它和Linux更为接近。Mac的命令行和Linux有一样的体验。大部分Linux命令行软件都可以在Mac上安装运行,基于这一点,很多服务器软件开发人员都喜欢使用Mac,这令到开发效率更高。不过对于一般人来说,Mac的很多操作和Windows不同,要习惯新的操作可能需要一个月的时间。不少人买一台Mac回来还会选择多装一个Windows系统。一些用户很多的产品会有一个功能简洁的Mac版,例如QQ、微信等。

Linux的桌面软件性能、数量、质量要远逊于Windows和Mac。不过Linux在服务器方面的软件具有绝对的优势,因而大部分的服务器是采用Linux服务器的。它更适合作为极客的玩具。

By admin, 27 六月, 2018

1. 一个例子

#!/bin/bash

# 第一行表示解释本脚本的命令路径,如果文件带有可执行属性,那么文件可以直接运行。

# 第一行的路径如果填写#!/usr/bin/python,那么就表示这是一个Python脚本文件,会用Python解释器解释。

# 井号开头的行是注释

 

echo "echo命令用来打印信息在屏幕上"

 

# 脚本退出的时候可以用exit 0;来返回退出状态,0表示正常返回,如果非0,表示异常返回。$?特殊变量可以返回上一条命令的退出状态。

ls '一个不存在的文件'

echo $?

# 屏幕会显示2,这是ls命令遇到文件不存在时返回的错误码。

 

# &&表示逻辑与,||表示逻辑或。在一般的计算机语言解释器中,如果&&左边的条件成立才会执行检查&&右边的语句是否成立;同样地,如果||左边的条件不成立才会执行检查右边的语句是否成立。这就起到了条件语句的作用。

By admin, 18 五月, 2018

1. 查看文件内容(cat、less、head、tail)

cat <filename>

如果文件很长,可以使用分页浏览命令less。在浏览过程可以使用CTRL+F往前翻页,CTRL+B往回翻页,F是forward的首字母,B是backward的首字母。按Q键退出less浏览模式。

less <filename>

进入less浏览模式之后,按“/”然后输入关键词可以搜索字符串,按小写的n搜索下一个,按大写的N搜索上一个。

也会有人习惯把less和cat用管道操作串起来来用,效果是一样的:

cat <filename> | less

在过去有个more命令(Windows命令行也有这个命令),和less类似,但过去的more命令不能往回翻页,而现在一些系统直接就把more使用less的版本。

By admin, 13 十二月, 2017

在日常工作中,把文件打包是常见的操作。在Linux服务器管理中,把文件打包备份也是必要的维护步骤。

 

1. tar

tar是最常见的打包命令,下面命令可以把foo目录打包后以gzip格式压缩:

tar -czvf foo.tar.gz foo

如果想以高一点的压缩率压缩成bzip2文件,可以用下面命令:

tar -cjvf foo.tar.bz2 foo

如果希望压缩率再高一些,可以用下面命令压缩成xz格式(注意J参数是大些的):

By admin, 6 十二月, 2017

1. 常用文件操作

复制文件:

cp file1 file2 # 把file1复制到名为file2下
cp -r dir1 dir2 # 参数-r表示复制的是目录
cp f* dir1/ # 把当前目录以f开头的文件复制到dir1目录下

移动文件或改名:

mv oldpath newpath

删除文件或目录:

rm file1 file2 file3
rm -rf dir1 # 参数-rf表示删除的是目录,删除的时候不做确认提示,直接删除

创建目录:

mkdir dirname

以上命令更多参数说明可以通过man命令查看(例如`man cp`)。

关于目录,补充说明一下在之前介绍cd命令时没有说明的一个问题,'.'代表当前目录,'..'代表上一级目录。`cd ..`表示返回到上一级目录。cd后面必须带空格,这一点和Windows命令行是不同的。

By admin, 29 十一月, 2017

1. 文件系统

安装Linux的时候需要对系统进行分区,并选择分区的文件系统。对于Windows来说,我们可能会分出C、D、E几个盘。对于Linux来说,也是有分区的,不过分区体可以挂载在任何一个目录,整个系统都在根目录/下得一棵树,而不会分C、D、E几棵树。

选择好分区方案之后需要为分区选在文件系统。Windows的文件系统有Fat32、NTFS等。Linux则有ext2、ext3、ext4、Reiser,交换分区用的是swap文件系统。

下面解释一下Linux目录树的主要用途:

By admin, 22 十一月, 2017

1. man手册

这个man单词不是代表男人,而是manual手册的缩写。Linux有众多的命令,每个命令有很多参数,我们不大可能把所有细节都记得很清楚。这个时候man就很有用了,比如说,我们想知道ls有什么参数可以输入:

man ls

这个时候屏幕就会进入关于ls的手册页,在这个状态下按q退出,按CTRL+F向下翻页(f代表Forward),按CTRL+B翻页(B代表Backward),h查看更多的操作说明。

单独说一下比较复杂的搜索快捷键除号/,先按除号,然后输入要搜索的关键字回车,就可以搜索到手册页里出现该关键字的地方,并标注高亮。如果有多处出现,按n可以搜索下一个,n代表Next,按SHIFT+n(即大写的n)可以搜索上一个。

man手册一共有9个分类,同一个关键字可能是命令,也可能是库函数,如果出现这种冲突,我们就需要在man后面增加一个分类号,1表示命令,3表示库函数。这里不列举所有分类号了。

man除了查命令用法还能查函数?是的,输入man printf就能查到C语言printf函数的用法,是不是很方便呢?

By admin, 22 十一月, 2017

1. Shell

如果我们的Linux没有图形界面(服务器版本一般默认不启动图形界面),那么一开始就已经处于一个控制台(Console)的环境中,也就是命令行的环境。在这个环境中,我们可以输入命令。可以按ALT+F1到F7去切换到不同的控制台,同时进行多任务操作。

如果我们用的是桌面Linux,例如Gnome或KDE环境,那么可以用CTRL+ALT+T启用一个终端(Terminal),这也是一个命令行的环境。也可以按CTRL+ALT+F1切换到纯字符界面的控制台,按ALT+F7切换回图形界面(不同Linux发行版可能不同,不一定是F7)。

当我们进入命令行环境的时候,我们就处在一个shell当中,shell内置一些基本的命令,例如cd、echo等。shell有很多种,有最原始的sh,有csh,也有当前最流行的bash。不同shell的语法和功能是有小区别的。一个shell里面可以运行另外一个shell,例如当我们在sh环境里有些功能使用不习惯,可以运行bash命令进入bash shell。

By admin, 15 十一月, 2017

1. 一些有用的技巧

  1. CTRL+ALT+T可快速打开命令行终端

  2. poweroff可关机,reboot可重启

  3. 按鼠标中间可粘贴最近一次被选择的内容

  4. CTRL+SHIFT+C复制被选择内容,CTRL+SHIFT+V粘贴

  5. 输入文件路径时,波浪符号“~”表示用户home目录,例如以下命令可去到用户的下载目录下:cd ~/Downloads

  6. 在命令行输入命令时按TAB键可自动补全,即可自动补全命令,也可自动补全路径。如果有多个选择,可按两次TAB列出所有选择。

  7. wget -c可实现断点续传下载网络文件

  8. rsync可实现远程目录差异化同步(仅更新不同的部分)

  9. ssh -D连接到境外服务器可以实现信息无障碍

  10. vnc服务可实现远程桌面控制