Linux Essentials

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服务可实现远程桌面控制

By admin, 26 十月, 2017

1. Linux简介

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由Linus Torvalds在1991年10月5日首次发布。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GPL许可,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。值得一提的是,Linux的作者同时也是Git开源项目的发起人,Git已经逐渐取代CVS和SVN,成为最受欢迎的程序代码版本控制软件。

严格来讲,术语Linux只表示操作系统内核本身。而日常所提及的Linux则多指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些支持用户空间的系统工具和库主要由Richard Stallman于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux,但Linux不属于GNU计划。

尽管Linux的源代码是开放的,但如果想读完它的代码几乎是不可能的事情,也不是一件明智的事情。如果出于了解操作系统构造原理的目的,我们可以学习Minix操作系统,这是一个为教学而做的操作系统。也可以读一下早期的Unix源代码《Lion's Unix》。