Linux常用命令(文件操作、定时任务、查看服务器信息)

查看系统时间、设置中国时区

# 查看时间
date

# 设置时区,注意:如果timezone是一个文件夹,可以先删除,再执行以下指令
echo "Asia/Shanghai" > /etc/timezone

编辑文件 (vim)

# 打开编辑一个文件
$ vim <文件名>

命令模式下的一些交互操作

  • 检索
    输入:/要搜素的字符串
    按下n跳到下一个匹配 ,按下N跳到上一个匹配。

  • 光标跳转
    按下NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行)
    按下gg → 到第一行。(陈皓注:相当于1G,或 :1)
    按下G → 到最后一行。

  • 全选
    按下ggVG

  • 显示行号
    输入: set number

  • 删除一行
    按下dd

解压、压缩 (tar)

基本语法

# 解压
tar -zxvf xxx.tar
unzip xxx.zip

# 打包+压缩指定文件 
tar -zcvpf <自定义的文件名>.tar <要打包的文件或目录名>/
# 打包+压缩指定文件当前目录所有文件 
tar -zcvpf wp5.4.tar *

 -p : 保留其原权限
 -z : gz压缩
 -c : 打包
 -x : 解包

压缩、解压示例

tar
  解包:tar zxvf filename.tar
  打包:tar czvf filename.tar dirname
gz命令
  解压1:gunzip filename.gz
  解压2:gzip -d filename.gz
  压缩:gzip filename
      .tar.gz 和  .tgz
      解压:tar zxvf filename.tar.gz
      压缩:tar zcvf filename.tar.gz dirname
      压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
  解压1:bzip2 -d filename.bz2
  解压2:bunzip2 filename.bz2
  压缩:bzip2 -z filename
        .tar.bz2

       解压:tar jxvf filename.tar.bz2
       压缩:tar jcvf filename.tar.bz2 dirname
bz命令
    解压1:bzip2 -d filename.bz
    解压2:bunzip2 filename.bz
         .tar.bz
       解压:tar jxvf filename.tar.bz
z命令
    解压:uncompress filename.z
    压缩:compress filename
        .tar.z
          解压:tar zxvf filename.tar.z
          压缩:tar zcvf filename.tar.z dirname
zip命令
    解压:unzip filename.zip
    压缩:zip filename.zip dirname

删除 (rm)

# 删除目录或文件
rm -rf 文件或目录名
# 删除当前文件夹内的所有目录或文件
rm -rf *
# 只删除具体文件,不删除目录、不递归删除子目录内的文件
rm -f <文件名>

定时任务 (crontab )

语法

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

命令说明

# 1.编辑定时任务,以root用户身份执行定时任务
$ crontab -e -u root

# 2.编写表达式以及样例
# 意思是每两个小时重启一次apache 
0 */2 * * * /sbin/service httpd restart 
#意思是每天7:50开启ssh服务 
50 7 * * * /sbin/service sshd start  
#意思是每天22:50关闭ssh服务 
50 22 * * * /sbin/service sshd stop  
#每月1号和15号检查/home 磁盘 
0 0 1,15 * * fsck /home  
#每小时的第一分执行 /home/bruce/backup这个文件 
1 * * * * /home/bruce/backup  
#每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  
#意思是每月的1、11、21、31日是的6:30执行一次ls命令
30 6 */10 * * ls  &>/dev/null # &>/dev/null 表示不发送邮件

# 3.重启
$ systemctl restart crond

# 4.查看运行日志
tailf /var/log/cron

# 注意
使用定时任务来执行脚本,脚本内所引用的目录或文件建议使用绝对路径,否则可能会执行失败。

参考
https://www.runoob.com/linux/linux-comm-crontab.html

ls的用法

# 普通列出文件和文件夹
ls 

#查看某文件夹下文件的个数,包括子文件夹里的。
ls -l |grep "^-"|wc -l或find ./company -type f | wc -l

#查看某文件夹下文件夹的个数,包括子文件夹里的。
ls -lR|grep "^-"|wc -l
ls -lR|grep "^d"|wc -l 

说明:ls -l  长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"  这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。 

查看文件大小(du)

du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量 
du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
du -sk filename 查看指定文件大小

du命令用来查看目录或文件所占用磁盘空间的大小。常用选项组合为:du -sh

du常用的选项:
  -h:以人类可读的方式显示
  -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
  -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
  -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
  --apparent-size:显示目录或文件自身的大小
  -l :统计硬链接占用磁盘空间的大小
  -L:统计符号链接所指向的文件占用的磁盘空间大小 

查看磁盘和分区的大小 (df)

df -lh

查看inode总数 (df)

#查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。
df -i

查找文件 (find)

# 查找文件名中包含某字符(如"elm")的文件
find /home/lijiajia/ -name '*elm*'

# 查找当天创建或编辑过的 *.php文件
find ./ -mtime +0 -name "*.php" ;

# 查找10天前创建或编辑过的 *.php文件
find ./ -mtime +9 -name "*.php" ;

# 查找10天前创建或编辑过的 *.php文件 (不查找子目录)(-maxdepth 1 表示查找深度为1)
find ./ -mtime +9 -name "*.php" -maxdepth 1

# 查找5分钟前创建或编辑过的 *.php文件
find ./ -mmin +5 -name "*.php" ;

# 查找并删除10天前的创建或编辑过的 *.php文件
find ./ -mtime +9 -name "*.php" -exec rm -f {} \;

# 查看每个目录下的文件数量
for i in /home/iffamacao/www/*; do echo $i; find $i | wc -l; done

查看服务器负载

#实时监控 ,更多命令查看:https://www.cnblogs.com/wbxk/p/10776103.html
top 

# 查看运行的所有程序
ps -ef

#内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10

查看服务器版本

如果只想知道是哪个操作系统,有个简单的办法,即看看/etc/这个目录下有哪个命令就大概知道了:
在这里插入图片描述
例如,查看操作系统版本

cat /etc/redhat-release

在这里插入图片描述

参考:https://www.cnblogs.com/chanshuyi/archive/2017/04/27/6774403.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值