1. 压缩与解压缩

.tar.gz格式文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 解压 
$ tar -zxvf /filePath/filename.tar.gz

# 压缩 
$ tar -zcvf /filePath/filename.tar.gz /filePath/filename

# 解压到特定文件夹
$ tar -zxvf /filePath/filename.tar.gz -C /filePath/filename

# 压缩到特定文件夹
$ tar -zcvf /filePath/filename.tar.gz -C /filePath/filename

# 压缩所有txt类型文件 
$ gzip *.txt

.tar.bz2格式文件

1
2
3
4
5
# 解压 
$ tar -jxvf /filePath/filename.taz.bz2

# 压缩
$ tar -jcvf /filePath/filename.tar.bz2 /filePath/filename

.rar格式文件

需要安装rar工具, 下载对应的linux版本,解压,make即可。

1
2
3
4
5
# 解压
$ rar e /filePath/filename.rar /filePath/filename

# 压缩
$ rar a -m5 /filePath/filename.rar /filePath/filename

.zip格式文件

需要安装zip和unzip工具

1
2
# dnf install zip
# dnf install unzip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 解压
$ unzip filename.zip

# 只打印最简短解压信息,并不解压
$ unzip -tq filename.zip

# 解压其中一个文件
$ unzip filename.zip onefile

# 解压到特定目录
$ unzip filename.zip -d /filePath/filename

# 压缩当前目录
$ zip filename *

# 压缩当前目录包括所有子目录
$ zip -r filename *

gzip使用方法:

1
2
3
4
5
# 保留源文件压缩
$ gzip -c filename > filename.gz

# 保留源文件解压
$ gunzip -c filename.gz > filename

2. 文件夹操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建 
$ mkdir

# 删除 
$ rm

# 删除整个文件夹 
$ rm -rf

# 复制 
$ cp

# 复制文件夹  
$ cp -r

3. 目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 显示 
$ ls

# 列表显示文件和相关权限 
$ ls -l

# 列表显示文件并按照文件名逆序排列
$ ls -rl

# 显示隐藏文件 
$ ls -a

# 可以配合使用
$ ls -al

# 查看文件夹大小 
$ ls -lhs

# 查看目录树 
$ tree

4. 运行 *.sh文件

1
2
3
# 将sh文件赋予可执行权限
$ chomd 777 filename.sh
$ sh /filePath/filename.sh

5. 更改文件名

1
$ mv oldfile newfile

6. md5报文摘要算法

md5(Message-Digest Algorithm 5)报文摘要,可以用来验证网络文件传输的完整性。

1
$ md5sum file

7. java类型文件

Java Control Panel位置/usr/java/jdk1.7.0_45/bin/ControlPanel

1
2
3
4
5
6
7
# 执行.jar格式文件
$ java -jar filename.jar
# 指定内存运行.jar格式文件
$ java -Xmx2000M -jar filename.jar

# 执行.jnlp格式文件
$ javaws filename.jnlp

8. 查看文件

1
2
# 将文件直接打印在屏幕上
$ cat filename

9. 查看系统

1
2
3
4
5
# 32位还是64位
$ uname -a

# 查询操作系统发行版本
# lsb_release -a

10. 查看当前路径

1
$ pwd

11. 查看某个程序/库的安装路径

1
2
3
4
5
# 比如查看R的安装位置
$ which R

# 查看某个文件的位置
$ whereis filename

12. 查看一个命令的文档帮助

1
2
# 比如man R
$ man commandname

13. 批量处理文件

1
2
3
4
5
# 删除满足条件的数据
$ find ./ -name '*' | xargs rm -rf

# 移动大数据量的文件.
$ find ./ -name "*.gif" | xargs -i mv {} /filePath/

14. 修改PATH和LD_LIBRARY_PATH

假设我们程序的绝对路径是/opt/arbtest/arb 两种方法:

  • 直接命令行运行
1
# export PATH=$PATH:/opt/arbtest

这种方法当前有效,重启之后就失效了。

1
2
# 查看修改该好的PATH
$ export
  • 修改/etc/profile(系统设置,任何用户都可使用)或者~/.bashrc(当前用户)文件。 向这两个文件中添加export PATH=$PATH:/opt/arbtest或者export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/arbtest
1
2
3
4
5
6
7
8
9
10
# 载入修改好的文件 

# 载入root权限profile
# source /etc/profile

# 载入当前用户.bashrc文件
$ source ~/.bashrc

# 查看修改好的路径
$ echo $PATH

15. 定向输入输出

禁止屏幕输出,即将屏幕输出导入Linux的无底洞 /dev/null,比如

1
$ cat myFile > /dev/null

此时,导入的是标准屏幕输出(标号为1)stdout。如果要导入标准错误输出(标号为2)stderr,执行

1
$ cat myFile 2 > /dev/null

如果将两种输出全部导入/dev/null,执行

1
2
# 最后的"2>$1"表示2的操作等同于1
$ cat myFile > /dev/null 2>$1

16. 更改文件权限和所有者

使用命令chmod更改文件权限。

  • u:所有者(user)

  • g:群组(group)

  • o:其他人(others)

  • a:所有人(all)

  • r:表示可读(read),对应数值4

  • w:表示可写(write),对应数值2

  • x:表示可执行(excute),对应数值1

  • -:表示什么操作都不行,对应数值0

1
2
# 比如rw-rw-r--对应664
$ chomd 664 filename

使用命令chown更改文件所有者:

An instance of using chown
1
# chown -R myOwner:myGroup fileName

17.更改文件时间戳

1
2
# 更新myfile的存取和修改时间;如果myfile不存在,则创建该文件
$ touch filename

18. 挂载NTFS分区

CentOS需要手动挂在NTFS分区,下载并安装NTFS-3G,安装方法:

1
2
3
# ./configure 
# make
# make install 

查找NTFS分区路径,此处假定为/dev/sta1

1
2
3
4
5
6
7
8
9
# 查看硬盘分区
# fdisk -l

# 挂载NTFS分区
# mkdir /mnt/NTFStest
# mount -t ntfs-3g /dev/sta1 /mnt/NTFStest

# 卸载分区
# umount /mnt/NTFStest

如果需要自动挂载ntfs分区,首先要查看分区信息,比如uuid

1
# blkid

之后修改/etc/fstab,添加需要挂载的分区

1
UUID=12D345251F34 /media/D ntfs defaults 0 0

19. yum服务相关

以下命令都可以配合grep使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 安装最快源插件
# yum install yum-plugin-fastestmirror

# 安装并行下载工具
# yum install yum-axelget

# 终止yum安装
# rm -f /var/run/yum.pid

# 查询包
# yum search pkg

# 重新安装包
# yum reinstall pkg

# 升级包
# yum update pkg

# 卸载包
# yum remove pkg

# 查询已安装包信息
# yum info pkg

# 查看仓库包列表
# yum list pkg*

# 查看已安装的包
# yum list installed

20. 修改配置文件

可以使用多种文本编辑器,最常用的是EmacsVim,使用方法直emacs或者vim和文件名即可。

1
2
3
# 修改Apache服务器配制文件
$ vim httpd.conf
$ emacs httpd.conf

21. 用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看用户 
$ w
$ who
# 超过500为后建用户
$ cat /etc/passwd

# 新建用户 
$ useradd usrname

# 新建用户设置密码 
$ passwd usrname newpasswd

# 删除用户 
$ userdel -r usrname

# 查看用户登陆
$ last
$ last usrname

# 查看当前任务 
$ top

22. deb和rpm包互转

  • 第一种方法是使用alien
1
2
3
4
5
# deb转换为rpm
$ alien -r filename.deb

# rpm转换成deb
$ alien -d filename.rpm
  • 第二种方法是直接使用apt,非常方便,配置方法如下
1
2
3
# yum install apt
# apt-get update
# apt-get pkg

23. 查看和终止进程

1
2
3
4
5
6
7
8
9
10
11
# 查看进程树
$ pstree -p

# 看全部进程
$ ps -A

# 强制终止进程
$ kill -9 7473

# 释放内存
$ free -m

24. 查看网络有监听的端口

1
$ netstat -lntp

25. SSH服务行

断开SSH终端,仍需要程序后台执,则使用nohup命令

1
$ nohup /filepath/testScript.py

解决SSH终端链接一段时间后自动断开,修改文件/etc/ssh/sshd_config,找到ServerAliveInterval语句,将其注释去掉,改为

1
ServerAliveInterval 60

26. 查看某一个库文件的位置

1
$ locate libGLU.so

27. rpm包

1
2
3
4
5
6
7
8
9
10
11
# 安装rpm包 
# rpm -ivh pkg.rpm

# 更新rpm包
# rpm -Uvh pkg.rpm

# 查看已经安装的包 
# rpm -qa | grep pkg.rpm

# 卸载rpm包 
# rpm -e pkg

28. Centos 6 升级 python 2.7

参考网址 1, 2

29. CPU信息

1
2
3
4
5
6
7
8
9
10
11
12
# 查询CPU信息
$ lscpu

# 物理CPU个数
$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l

# 核心个数
$ grep 'core id' /proc/cpuinfo | sort -u | wc -l

# 线程个数
$ grep 'processor' /proc/cpuinfo | sort -u | wc -l
$ nproc

查看CPU温度

1
2
3
# 安装lm_sensors工具
# yum install lm_sensors
$ sensors

30. 查询文件和文件夹大小

1
2
$ du -h myfile
$ du -h filepath

31. 查看内存情况

1
2
3
4
5
# 查看内存使用情况
$ free

# 物理内存
# dmidecode -t memory | grep Size

32. 查看文件头部和尾部

1
2
3
4
5
# 头部
$ head -5 file

# 尾部
$ tail -7 file

33. 下载命令

1
$ wget -c -t 0 -w 30 httplink
  • -c:表示接着下载没下载的文件

  • -t:表示尝试连接次数

  • 0:表示不停尝试

  • -w:表示每两次尝试的时间间隔

1
$ axel -n 8 -a -S5 httplink -o folder
  • -n:设定下载线程数

  • -a:简单进度条

  • -S5:搜索filesearching.com镜像,以加快下载速度

  • -o:储存目录

34. 开机启动

1
2
3
4
5
6
# 开机启动httpd
# chkconfig httpd on
# 关闭httpd
# chkconfig httpd off
# 开启启动列表
# chkconfig --list

35. 系统运行日志

1
# cat /var/log/messages

36. 获取系统时间

Time
1
2
3
4
5
6
7
8
9
10
11
12
# 获取文件时间
$ stat filename | grep Modify | awk '{print $2, $3}

# 获取当前时间
$ date
$ date -d '-1 day'
$ date -d '+1 hour'
$ date -d yesterday '+%F %T'
$ date -d tomorrow +%s

# 获取本月日历
$ cal

37. 定时执行程序

使用cron,首先开启:

Start Crond
1
2
3
4
# 开启
# service crond start
# 重启
# service crond restart

建立描述文件,比如testCron

Description file
1
2
# 每半个小时执行command
0,30 * * * * commmand

提交

Submit cron files
1
2
3
4
5
6
7
8
# 提交
$ crontab testCron
# 查看
$ crontab -l
# 删除
$ crontab -r
# 编辑
$ crontab -e

参考资料

更新记录

2016年5月9日

Comments