经常使用Linux服务器,但是对系统的一些常用命令不怎么熟悉,在吃过多次亏之后决定将日常使用到的一些常用命令整理备份下,方便以后使用的时候查看:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Linux系统常用命令
1.查看系统内存
free -g/m/k/b(按G/M/K/B显示)
2.查看系统磁盘使用情况
df 按照位为单位查看的
df -h 按照G为单位查看的
fdisk -l
3.查看文件夹大小
du <文件夹名> 按照位为单位查看的
du -h <文件夹名> 按照G为单位查看的
4.查看进程
ps -ef|grep <进程名>
kill 进程号 杀死进程(可以加 -9 参数强制kill)
5.查看文件内容
cat <文件名>
6.查看日志
tail -200f <文件名>
7.文件编辑
vi <文件名> 进入编辑模式
输入 i 进入编辑状态
Ctrl+C 退出编辑状态
:q 退出文件编辑模式
:q! 强制退出文件编辑模式
:wq 保存并退出
/ 搜索模式
8.查看linux系统版本信息
uname -a(查看内核)
lsb_release -a(查看系统版本)
9.查看当前文件路径
pwd
10.查看当前登陆账户
whoami
11.修改密码
passwd(普通用户下)
passwd <username> (root用户下)
12.定时任务
crontab -l 查看定时任务列表
crontab -e 编辑定时任务
13.tar打包
tar -zcvf 文件名 打tar.gz包
单个文件压缩打包 tar czvf my.tar file1
多个文件压缩打包 tar czvf my.tar file1 file2,...
单个目录压缩打包 tar czvf my.tar dir1
多个目录压缩打包 tar czvf my.tar dir1 dir2
解包至当前目录:tar xzvf my.tar
tar -zxvf 文件名 解压tar.gz包
14.大文件截取内容
用sed好了,sed是按行处理的,不会将整个文件加载到内存中,可以放心使用
要切出从2012-02-09到2012-09-10的所有数据行,(假设你的日志文件以yyyy-MM-dd的日期格式开头)只需要
sed -n '/^2765068861/,/^2765287411/p' server.log >test.txt
15.统计文件中出现的字符个数
grep -o ‘keyword’ my_file.txt | wc -l
16.用户创建
useradd -g oracle -G oracle -d /home/oracle/ -m -s/bin/bash oracle
17.查找并删除几天前的文件
find /usr/local/backups -mtime +10 -exec rm -rf {} \;
18.链接制作
创建文件夹软连接 ln -s path(文件链接路径) 连接名(软链接名)
在需要做链接的目录下输入命令:ln -s -f path(链接文件路径) 链接名
ln -s -f /usr/local/mpc-0.9/lib/libmpc.so.2 libmpc.so.2
19.用户创建
useradd -g telstar -G telstar -d /home/telstar -m -s/bin/csh telstar
20.查看端口占用进程
lsof -i:<端口号> 或 netstat -anp|grep <端口号>
21.下载/上传
sz <file name>
rz <file name>
22.在所有文件中搜索关键字
find .|xargs grep -ri "12351"
23.查看某文件夹下文件个数
ls -lR <dir>|grep "^-"|wc -l
24.linux统计文件夹某一些文件的大小总和
使用如下命令,-m 代表MB
du -m 20140507155000* | awk '{sum += $1}; END{print sum}'
25.卸载RPM包
rpm -e <包名>
26.安装RPM包
rpm -ivh <rpm包>
27.升级RPM包
rpm -Uvh <rpm包>
28.查看CPU信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
29.释放缓存(需要root权限)
sync
echo 3 > /proc/sys/vm/drop_caches
上面echo 3是清理所有缓存
echo 0 是不释放缓存
echo 1 是释放页缓存
echo 2 是释放dentries和inodes缓存
echo 3 是释放1和2中说到的全部缓存
30.FTP批量上传,下载
mput
mget
在使用之前,可以使用prompt off命令关闭ftp确认
31.查看以删除但并未释放空间的文件
lsof | grep deleted
32.zip文件解压
unzip 文件.zip -d 指定目录 (解压文件到指定目录)
33.统计一类文件总大小
du -m *_MREMRO_*|awk '{sum += $1}; END{print sum}'