文本编辑器

基础编辑器nano,gedit

  1. 不使用编辑器创建文件
    重复使用echo
$ echo line one > myfile
$ echo line two >> myfile
$ echo line three >> myfile

>将指令输出到文件中,>>将指令的输出附加的已存在的文件中。
第二种方法是使用cat和重定向

$ cat << EOF > myfile
> line one
> line two
> line three
> EOF
$

这两种方法产生的结果相同。
2. nano
nano <filename>打开一个文件,如果不存在将会被创建。
3. gedit
图形化界面的编辑器
gedit <filename>

高级编辑器vi和emacs

  1. vi
    vimtutor查看教程

    Working with Files in vi
    下面的表格描述了vi中开始,退出,读写文件的最重要的命令。所有命令输入完毕都要按回车执行。
Command Usage
vi myfile 开启vi编辑器,编辑myfile
vi -r myfile 从系统崩溃中以恢复模式开启vi并编辑
:r file2 读入file2,并插入到当前位置
:w 写到文件中
:w myfile 将文件写到myfile中
:w! file2 覆盖写file2
:x or :wq 退出并写回修改的文件
:q 退出vi
:q! 强制退出,不保存修改

在vi中改变游标位置
命令行模式指令(跟在:之后的)需要回车确认

Key Usage
方向键 上下左右
j or 下移一行
k 上移一行
h or Backspace 左移一个字符
l or Space 右移一个字符
0 移到行首
$ 移到行尾
w 移到下一个单词开头
:0 or 1G 移到文件开头
:n or nG 移到第n行
:$ or G 移到最后一行
CTRL-F or PageDown 前进一页
CTRL-S or PageUP 后退一页
^l 刷新居中屏幕




2. emacs

Local Security Principle

理解Linux安全


账户类型
Linux有以下4种账户类型
- root
- System
- Normal
- Network
使用last命令可以查看用户最后登陆时间。

sudo进程隔离,限制硬件访问




passwords

Securing the Boot Process and Hardware Resources

网络操作

网络

  1. IP地址分类
  2. IP地址分配
    静态分配:在分配IP地址前要先确定主机的范围来确认网络的大小。这决定了哪一类IP可以被使用。ipcalc可以用来确定主机范围。
    假设使用C类网络,ipcalc 192.168.0.0/24可以计算主机范围。
  3. 域名解析
    使用hostname查看主机域名,或更改域名。
  4. 网络接口
    ifconfig查看
  5. 网络配置文件
  6. 网络配置命令
    $ /sbin/ip addr show查看IP地址
    $ /sbin/ip route show查看路由信息
  7. ping
  8. route
Task Command
查看当前路由表 $ route -n
添加静态路由 $ route add -net address
删除静态路由 $ route del -net address

9. traceroute
traceroute用来追踪网络数据包从源主机到目的主机的路由途径,用来解决网络延迟和错误问题非常有用。使用traceroute可以分离跳与跳之间的连通性问题,加快解决速度。
traceroute <domain>.
10. 更多工具

网络工具 描述
ethtool 查询网络接口,设置不同的参数
netstat 展示所有活动的连接和路由表。监视性能和解决问题很有用
nmap 扫描开放端口
tcpdump 输出网络流量用于分析
iptraf 在文本模式下监视网络流量

浏览器

1.图形和命令行浏览器
图形界面
- Firefox
- Google Chrome
- Chromium
- Epiphany
- Opera
非图形浏览器

Non-Graphical Browsers Description
lynx Configurable text-based web browser; the earliest such browser and still in use.
links or elinks Based on lynx. It can display tables and frames.
w3m Newer text-based web browser with many features.

2. wget
wget <url>可以处理以下几种情况:
- 大文件下载
- 递归下载
- 需要密码的下载
- 多文件下载
3.curl
curl <url>读取网页内容,也可以用来存储网页内容。
curl -o saved.html http://www.mysite.com

传输文件

  1. FTP
    • ftp
    • sftp
    • ncftp
    • yafc(Yet Another FTP Client)
  2. SSH
    ssh <remotesystem> my_command
  3. SCP
    scp <localfile> <user@remotesystem>:/home/user/

文本处理

cat and echo

cat是concatenate的缩写。通常用来读取和打印和简单查看文件内容。使用命令$ cat <filename>查看文件。通常用cat是将多个文件结合在一起。

Command Usage
car file1 file2 连接多个文件并输出
cat file1 file2 > newfile 连接多个文件并输出到新文件
cat file >> existingfile 将文件附加到存在文件的末尾
cat > file 后续的输入会到文件中直到遇到CTRL+D
cat >> file 后续输入会附加的文件中直到CTRL+D

tac会相反顺序输出文件
1. 交互式使用cat
cat用来从标准输入中读取,如果没有指定输入文件。创建文件cat > <filename>,这个命令会创建一个新文件并等待用户输入,输入CTRL+D在下一行的开头来保存并退出编辑。
另一个方式创建文件是cat > <filename> << EOF,输入EOF退出。
2. echo
$ echo string
echo可以用来在标准输出设备上展示字符串或输出到文件中使用>,>>
-e选项可以允许特殊字符序列,如
- \n 代表新行
- \t 代表水平tab

Command Usage
echo string > newfile 将指定字符串输入到文件
echo string >> existingfile 将指定字符串附加在文件末尾
echo $variable 输出环境变量

处理大型文件

$ less <filename>
$ cat <filename>|less
1. head
$ head -n 5 test.txt
2. tail
$ tail -n 15 filename
$ tail -f filename
-f会持续输出文件中的新行。
3. z命令族
对压缩文件进行查看可以在相应的指令前面加z。

Command Description
$ zcat compressed-file.txt.gz 查看一个压缩文件
$ zless .gz or more 分页浏览压缩文件
$ zgrep -i less test.txt.gz 搜索压缩文件内部
$ zdiff file1.txt.gz file2.txt.gz 对比两个压缩文件

在非压缩文件上用zless会自动跳过解压缩步骤。

sed和awk


1. sed命令语法

Command Usage
sed -e command Specify editing commands at the command line, operate on file and put the output on standard out (e.g., the terminal)
sed -f scriptfile Specify a scriptfile containing sed commands, operate on file and put output on standard out.

-e命令选项允许同时指定多个编辑命令
2. sed基本操作


3.awk

Command Usage
awk ‘command’ var=value file Specify a command directly at the command line
awk -f scriptfile var=value file Specify a file that contains the script to be executed along with f

As with sed, short awk commands can be specified directly at the command line, but a more complex script can be saved in a file that you can specify using the -f option.

文件处理工具

grep和strings

grep被广泛地用于文本搜索工具。它扫描特定的模式,可以使用正则表达式。

Command Usage
grep [pattern] 搜索文件中的模式并输出所有匹配行
grep -v [pattern] 输出所有不匹配的行
-i 忽略大小写
grep [0-9] 输出所有包括0到9行
grep -c 3 [pattern] Print context of lines (specified number of lines above and below the pattern) for matching the pattern. Here the number of lines is specified as 3.

find命令与grep命令的区别
- find命令: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配 。
- grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

各种文本工具

  1. tr
  2. tee
    tee使用任意命令的输出作为输入,在输出到标准输出的同时,也存储到文件中。
    ls -l | tee newfile
  3. wc
    word count计算文件中的行,单词和字符。
    wc -l filename
选项 描述
-l 行数
-c 字节bytes
-w 单词数

4. cut
cut用来处理基于列的文件,用来提取指定列。默认的列分隔符是tab
For example, to display the third column delimited by a blank space, at the command prompt type ls -l | cut -d" " -f3 and press the Enter key.

打印