1. 目的
环境: Ubuntu16.04
梳理
2. 系统相关
2.1 设置root用户密码
1. 开机进入桌面,ctrl+alt+T打开终端
2. 在此处输入:sudo passwd root
3. 设置root密码
4. 进入root账号: 终端上输入:su 回车键 , 然后输入设置的新密码,即可
2.2 重新添加系统睡眠选项
1. 先检查是否有交换分区(swap),如果有确认交换分区至少和实际可用内存一样大。
2. 按Ctrl+Alt+T开启终端或者Dash搜索开启终端
3. 运行sudo pm-hibernate,输入密码后回车。
4. 如果休眠测试无法正常工作,就说明你的计算机无法进行休眠。
5. 如果休眠测试可以正常工作,进入root权限,新建文件/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla添加以下内容后保存
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
6、关闭所有程序,重启计算机。
7、重启后,菜单中就有休眠选项了。
3. 编码
3.1 base64
场景1: 把字符按照base64编码
echo -n 哈哈 | base64
# 结果如下:
5ZOI5ZOI
场景2: 把字符按照base64解码
echo -n 5ZOI5ZOI | base64 -d
# 结果如下:
哈哈
4. alias与export
尽量使用export
alias , 使用which 命令找不到, 但是export可以
5. 空间大小
- df -h //查看磁盘各分区大小、已用空间等信息
- du -sh filename //查看文件夹大小
- du -sh 查看当前目录以下搜索文件和子目录大小
6. 后台运行
- 场景: 比如启动ipython notebook等,不希望打印log, 希望启动完后退出log输出;
# 命令后面加&
ipython notebook &
7. watch
- 场景: 可以检查, watch是一个非常实用的命令,可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了
- watch命令
8. rsync | scp
- 两个 命令都是传送文件, 但前者可以只传增量变化的文件, 跳过两次不变的文件, 更强大
- rsync -av yourname@IP:sourcePath DesPath
9. diff
- 场景: 比较两个文件不同地方
diff file1 file2
# 如果想看的更清楚, 共同和不同的都打印
vimdiff file1 file2
9.1 meld
- 场景: 找出两个文件不同的地方, 可视化的界面, 非常类型git compare.
meld file1 file2
10.vim: 大小写替换
vim中大小写转化的命令是
gu或者gU
形象一点的解释就是小u意味着转为小写;大U意味着转为大写.
# 1、整篇文章大写转化为小写
打开文件后,无须进入命令行模式。键入:ggguG
解释一下:ggguG分作三段gg gu G
gg=光标到文件第一个字符
gu=把选定范围全部小写
G=到文件结束
# 2、整篇文章小写转化为大写
打开文件后,无须进入命令行模式。键入:gggUG
解释一下:gggUG分作三段gg gU G
gg=光标到文件第一个字符
gU=把选定范围全部大写
G=到文件结束
# 3、只转化某个单词
guw 、gue
gUw、gUe
这样,光标后面的单词便会进行大小写转换
想转换5个单词的命令如下:
gu5w、gu5e
gU5w、gU5e
# 4、转换几行的大小写
将光标定位到想转换的行上,键入:1gU 从光标所在行 往下一行都进行小写到大写的转换
10gU,则进行11行小写到大写的转换
以此类推,就出现其他的大小写转换命令
gU0 :从光标所在位置到行首,都变为大写
gU$ :从光标所在位置到行尾,都变为大写
gUG :从光标所在位置到文章最后一个字符,都变为大写
gU1G :从光标所在位置到文章第一个字符,都变为大写
11. linux权限管理
12. date
# 给定日期字符串, 转换显示格式, 包括可转为时间戳
date -d "dateString" +"formatString"
$ date -d "19700101 08:00:00" +%s
0
# 给定时间戳, 转换对应日期字符串
date -d @timestamp +"formatString"
$ date -d @0 +"%Y%m%d %H:%M:%S"
19700101 08:00:00
# 给定日期进行加减
date -d -ndays +"formatString"
$ date -d -4days +"%Y-%m-%d"
2018-02-01
13. dirname
使用dirname在shell脚本中获取当前脚本文件所在的绝对路径.
# 比如: 找出python对应的文件绝对路径
dirname $(which python)
# 找出本地安装sbt的路径
echo $(dirname $(dirname $(readlink -f $(which sbt))))
14. xargs
# 针对id_file, 每行在file1中做grep操作
cat id_file
123
233
245
cat id_file | xargs -n1 -I {} grep {} file1
# 批量转化时间戳为日期
# 比如, 文件file每行存放时间戳, 如下:
1539912736
1538992708
1538992479
# 使用如下命令, 批量转化:
cat file | xargs -n1 -I {} date -d @{}
网友评论