Linux常用命令学习

目录

本教程针对的是Linux服务器方面的知识,适合从事运维或后端开发的人员阅读。

一、系统信息

arch 或 uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
date 显示系统日期
date 122418002021.00 设置日期和时间 - 月日时分.秒

二、文件和目录

cd /data 进入 ‘/ data’ 目录’
cd … 返回上一级目录
cd …/… 返回上两级目录
cd 进入个人的主目录
cd - 返回上次所在的目录

2.1 查找

ls 列出目录及文件名
ls -a 列出全部文件,包含隐藏文件
ls -l (缩写ll)包含文件的属性与权限等数据
ls -lh 查看文件夹下的详细 包括大小。显示友好
ll -Slh 按照文件大小进行排序,显示友好
ll -Sh 按照文件大小进行排序
ll -rt 按照时间进行排序
pwd 显示当前路径
ls *[0-9]*显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构

2.2 搜索(重点*)

2.2.1 find

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。find默认搜索当前目录及其子目录 ,并且不过滤任何结果(也就是返回所有文件)
find / -name “*yaml” 全局搜索
find ./ -name "yaml" 搜索当前目录
find . -name “*.log” -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /home -type f -size +1G 查找大文件
find / -mtime n 查找在系统中最后24
n小时里修改过的文件

2.2.2 grep

grep 命令用于查找文件里符合条件的字符串,是一种强大的文本搜索工具。
grep "str " filename 从文件内容查找匹配指定字符串的行
grep -A 显示匹配指定内容及之后的n行
grep -B 显示匹配指定内容及之前的n行
grep -C 显示匹配指定内容及其前后各n行(常用) 示例:grep -C 10 name test.txt 搜索匹配test.txt文件中与”name”字符串匹配的行,并显示其前后的5行
grep -c 返回一个文件中字符串的个数 示例: cat test.txt | grep -c ‘name’ 显示该文件中字符串 "name"的个数
grep –e “正则表达式” filename 从文件内容查找与正则表达式匹配的行
grep -r ‘v67’ /home/audio 搜索在目录下面的含有关键字的文件

2.3 创建

mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /data/dir1/dir2 创建一个目录树
cat >> filename 创建一个新的文件
touch file 创建一个名为“file”的空白文件

2.4 删除

rm file1  删除一个叫做 ‘file1’ 的文件’
rm -f file1 删除一个叫做 ‘file1’ 的文件’ (不需要确认删除)
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容(不需要确认)
rm -rf dir1 dir2 同时删除两个目录及它们的内容
find . -type f | xargs /bin/rm -f 删除同一个文件夹下的所有文件,不包括文件夹 -type 后面的 f 表示普通文件

2.5 复制

cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -r /home/packageA/* /home/cp/packageB/ 把packageA 下的所有文件拷贝到 packageB 中
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录

2.6 清空

echo " " > file.log 将file.log日志的内容清空

2.7 移动

mv /home/audio/*   /zoo 将文件夹下的全部文件移动到/zoo下
mv /home/audio/*.txt   /zoo 将文件夹下的后缀为txt格式的文件移动到/zoo下

2.8 执行

nohup /home/run.sh & 后台运行命令,退出终端不影响程序运行
在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,
&:让命令在后台执行,终端退出后命令仍旧执行。

三、文件内容查看

3.1 cat

cat file1 从第一个字节开始正向查看文件的内容
cat -b file1 列出行号正向查看文件的内容

3.2 tac

tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写
tac file1 倒着显示文件的内容

3.3 more

more file1 查看一个长文件的内容,一页一页翻动
more 运行时可以输入的命令有:
 空白键 (space):代表向下翻一页;
 Enter:代表向下翻『一行』;
 b 或 [ctrl]-b :代表往回翻页
 :f  :立刻显示出档名以及目前显示的行数;

3.4 less

less file1 类似于 ‘more’ 命令,反向操作 从文件末尾开始
less运行时可以输入的命令有:
 空白键 :向下翻动一页;
 [pagedown]:向下翻动一页;
 [pageup] :向上翻动一页;

3.5 head

head -10 file1 查看一个文件的前十行

3.6 tail(重点*)

取出文件后面几行
tail -n 10 file1 查看一个文件的最后十行
tail -f server.log 实时查看被添加到一个文件中的内容
tail -f server.log | grep “error” 查询正在改变的日志,匹配字符串error
tail -f server.log > temp.txt 查询日志指定生成文件查看

四、打包和压缩文件

Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。

4.1 tar

linux中的打包文件:xx.tar
linux中的压缩文件:xx.gz
linux中打包并压缩的文件:xx.tar.gz

4.1.1 打包和压缩

其中:
 z:调用gzip压缩命令进行压缩
 c:打包文件
 v:显示运行过程
 f:指定文件名
tar -cvf app.tar *.jpg // 将目录里所有jpg文件打包成 app.tar
tar -zcvf app.tar *打包并压缩该目录下的所有文件 压缩后的压缩包指定名称为xxx.tar

4.1.2 解压

注意:tar -zxvf 用于解压 .tar.gz 后缀结尾的
   tar -xvf 用于解压 .tar后缀结尾的
tar -xvf file.tar // 解压 tar 包
tar -xvf file.tar -C /usr ------C代表指定解压的位置

4.2 zip

4.2.1 压缩

zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

4.2.2 解压

unzip file1.zip 解压一个zip格式压缩包

4.3 gzip

4.3.1 压缩

gzip file1 压缩一个叫做 'file1’的文件
gzip -9 file1 最大程度压缩

4.3.2 解压

gunzip file1.gz 解压一个叫做 'file1.gz’的文件

五、磁盘管理

free -h:以适于人类可读方式显示内存信息。
df -h: 以适于人类可读方式显示文件系统的磁盘空间占用情况
df -h | head: 显示根目录下的磁盘空间
du-sh * 查看当前目录下各个文件及目录占用空间大小

六、vi/vim

Vim 是从 vi 发展出来的一个文本编辑器。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
以下是常用的几个命令:
 i 切换到输入模式,以输入字符。
 x 删除当前光标所在处的字符。
 dd 删除游标所在的那一整行
 ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
 u 返回到上一步
 : 切换到底线命令模式,以在最底一行输入命令。
  ctrl-f ctrl-b 向后/往前翻页 f就是forword b就是backward
  ctrl-d ctlr-u 翻半页。d=down u=up
  nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
  gg 移动到这个文档的第一行,相当于 1G !(常用)
  G 翻页直接到最后 (常用)
输入模式
  Page Up/Page Down,上/下翻页(MAC 为 fn + 向上/向下 箭头)
  ESC,退出输入模式,切换到命令模式
底线命令模式
  :wq 保存
  :q!不保存退出
  :%s/pattern//gn 查找字符串出现的次数 pattern为查找的字符串
  :set nu 显示行号
  :set encoding=utf-8 打开日志时,中文乱码时可转换成中文
  /word 向光标之下寻找一个名称为 word 的字符串 (常用)
  ?word 向光标之上寻找一个字符串名称为 word 的字符串。
  n 英文按键,如果刚刚我们执行 /word 去向下搜寻 word 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 word 的字符串
  N 与n相反,向上搜索

六、其他命令

6.1 网络通信

ifconfig 查看网卡信息
ping 查看与某台机器的连接情况
telnet ip port 测试端口的连通性 例如:telnet 10.28.22.41 80
netstat -palnt 查看当前系统端口
netstat -palnt | grep 8080 搜索指定端口8080

6.2 进程

ps -ef 查看所有正在运行的进程
top -u root 查看用户root的所有进程
lsof -i:8051 查看端口号被哪个进程占用
kill -9 pid 强制杀死进程。pid:进程号

6.3 防火墙

service iptables start --启动iptables服务
service iptables stop --停止iptables服务
service iptables status --查看iptables服务的状态
service iptables restart --重启iptables服务

6.4 定时任务

yum install crontabs 安装定时任务
crontab -l 查看定时任务列表
crontab –e (等同于vim /var/spool/cron/root) 编辑任务列表
service cron start --启动服务
service cron stop --关闭服务
service cron restart --重启服务
service cron reload --重新载入配置
service crond status --查看crontab服务状态
如果上面的执行不了,可执行这个
systemctl stop crond.service
systemctl start crond.service
systemctl status crond.service

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值