Linux 的文本处理命令一览

grep 基于关键字搜索文本内容

-i 搜索时忽略大小写
-n 显示结果所在行数
-v 输出不带关键字的行
-Ax 在输出的时候包含结果所在行之后的指定行数(x为一个数值,表示输出后面x行)
-Bx 在输出的时候包含结果所在行之前的指定行数(同上)

cut 基于列处理文本内容
cut -d: -f1 /etc/passwd
grep upliu /etc/passwd | cut -d: -f3

-d 指定分割字符(默认是TAB)
-f 指定输出的列号
-c 基于字符进行切割

cut -c2-6 /etc/passwd #显示第2到6列的文字
wc 统计文本信息

-l 只统计行数
-w 只统计单词
-c 只统计字节数
-m 只统计字符数

sort 对文本内容进行排序

-r 进行倒序排序
-n 基于数字进行排序
-f 忽略大小写
-u 删除重复行
-tc 使用 c 作为分隔符分割为列进行排序

uniq 删除相邻重复行

详情请看 man uniq 手册

diff 比较两个文本文件内容的区别

-i 忽略大小写
-b 忽略空格数量的改变
-u 同意显示比较信息(一般用于生成 patch 文件)

diff -u upliu.txt upliu-new.txt > final.path
aspell 检查英文拼写

该命令只能检查英文

tr 处理文本内容
tr 'a-z' 'A-Z' < upliu.txt # 小写字母替换为大写字母
sed 搜索替换

详细教程见这里:http://learn.akae.cn/media/ch32s03.html
和这里:http://coolshell.cn/articles/9104.html

awk 以列为单位处理文件

详细教程见这里:http://learn.akae.cn/media/ch32s04.html
和这里:http://coolshell.cn/articles/9070.html
sed awk 这两个工具比较强大,用法需要慢慢消化理解

Linux 利用 locate 和 find 查找文件

命令 locate 用于快速查找文件、文件夹。此命令并没有在磁盘上查找所有文件,而是在预先建立的数据库里进行搜索。可以使用 updatedb 命令建立、更新数据库。

find 命令更加高级,使用方法:find 查找位置 查找参数;

find . -name *upliu*
find / -name *.conf
find . -type d
find . -perm 777
find . -name "Do*" -exec ls {} \;

-exec 命令 {} \; 是固定格式,表示将查找到的文件、文件夹作为参数传给命令。

Linux 学习笔记(一)

最近准备有空就系统学一下 Linux 的基础操作知识,主要是在 study.163.com 这个上面看视频教程。

Bash 笔记:

可以通过 Ctrl + r 在历史记录中搜索命令
(reverse-i-search)`’:

重新调用前一个命令中的参数
按 ese 之后按 . 键

Bash 支持以下通配符
* 匹配零个或多个任意字符
? 匹配任意字符一次
[0-9] 匹配一个数字
[abc] 匹配列表里的任何字符
[^abc] 匹配列表以外的字符

在后台运行进程
在命令后添加一个 &

暂停某个程序
通过 Ctrl + z 或者发送信号 17

管理后台作业
jobs
bg
fg %n(将编号为 n 的后台作业拿到前台来)

tail -f 追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的内容)

利用 Dropbox 备份网站数据及数据库

过程记录如下。

1、在 Dropbox 官网注册帐号,刚注册会有 2 G 空间。(对我们这台博客服务器来说,差不多了。可以通过邀请和做任务获得更多的免费空间)

2、ssh 登录服务器

3、下载并配置 Dropbox linux 客户端
下载

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

运行

~/.dropbox-dist/dropboxd

会生成一个地址,复制到浏览器打开,然后登录 Dropbox 帐号就可以将服务器和帐号绑定了。
家目录下会生成一个 ~/Dropbox 文件夹,Dropbox 默认会同步该文件夹下的所有文件。在该目录下为网站根目录做一个软链接

ln -s /var/www

这样就可以将网站所有文件同步到 Dropbox 服务器啦,如果要同步 Mysql 数据库,还需要 mysqldump 出数据,将其复制到这里即可。

4、Dropbox 一直运行会占用内存,因此做了一个定时任务,每天备份 Mysql,然后运行 Dropbox 一个小时。
编辑任务

crontab -e

编辑(如果是第一次运行此命令,会提示选择编辑器),在最下面添加如下内容

0 3 * * * mysqldump -u用户 -p密码 --all-databases > ~/Dropbox/mysql-all-database.sql
0 4 * * * ~/.dropbox-dist/dropboxd
0 5 * * * pkill dropbox

 

ubuntu 恢复删除的图标文件

今天在ubuntu上安装了kubuntu-desktop,用了一会,又觉得不爽,就将kubuntu-desktop给卸载了。重启再进入gnome桌面,发现鼠标指针还是kde下的那个样式,总觉得不爽,想换过来,但在外观里面设置还是没能解决问题。于是,去想干脆将所有的主题元素都删除后在再重新安装一遍ubuntu-desktop。找到了外观资源存放的文件夹。为以下两个目录:

/usr/share/icons
/etc/X11/cursors

我将这两个文件夹下的文件全部删除了。结果所有软件的图标都没有了,包括系统图标,左上角的ubuntu的logo,总之就是都没有了。然后运行:

sudo aptitude reinstall ubuntu-desktop

还是那样,没能解决问题。

后来上网解决了,运行如下两条命令就行了:

sudo aptitude reinstall `dpkg -S /usr/share/icons | cut -d: -f1 | sed 's/,//g'`
sudo aptitude reinstall `dpkg -S /etc/X11/cursors | cut -d: -f1 | sed 's/,//g'`

图标恢复之后,然后在外观里设置鼠标的样子,重启后一切都恢复了。

(原博客发布时间:2012-04-13 20:05:55)

Job failed. See system journal and ‘systemctl status’ for details.

openSUSE 在启动服务的时候出现如上错误。但是不知道应该如此处理和看那个错误日志。

搜索后找到答案,看这里

 Try “systemd-journalctl -a”. You may also find some information in /var/log/messages. Finally you can disable redirecting to systemctl by using “SYSTEMD_NO_WRAP=yes /etc/init.d/script-name start”