常见的linux命令

Linux命令

格式:命令名称 [命令参数] [命令对象]
三者之间用空格分开
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项)或者短格式(单个字母的缩写),两者分别用--与-作为前缀

man --help
man -h

man命令看不懂,太多了,但man到底是什么,书上说他是帮助手册;就是什么命令不懂,比如:echo:echo man等

常用系统工作命令:

echo 用于在终端输出字符串或变量提取后的值
语法

echo [字符串||$变量]
echo $SHELL

date命令
用于显示及设置系统的时间或日期,格式date[选项]+指定的格式
指定格式的%j可以查看今天是一年中的第几天
date +%j # 334

rebot命令重启,poweroff关机,wget命令在终端中下载网络文件

wget命令

格式为wget[参数] 下载地址
这里-p的作用有两个

-b 后台下载模式
-p 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

ps命令查看系统中的进程.ps[参数]

-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程

top命令动态监视进程,相当于windows中的任务管理器
pidof查看指定服务进程的pid值 pidof[参数](服务名称)
kill命令终止某个指定PID的服务进程
kailall命令终止某个指定名称的服务所对应的全部进程
ifconfig用于获取网卡配置与网络状态等信息。
ifconfig[设备](参数)
uname 查看系统内核与系统版本等信息
uname [-a]查看当前系统的详细信息
cat /etc/redhat-release 红帽7中才有该文件夹(redhat-release)
uptime命令查看系统负载,负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5
free命令显示当前系统内存的使用量信息 free [-h] # ubuntu没有-h命令
who命令 当前登录主机的用户终端信息
last 命令查看所用系统的登录记录
history显示执行过的命令,history -c清空当前用户的执行命令的记录;历史命令会被保存在这个文件夹中,这样进入cat ~/.bash_history
sosreport收集系统配置及架构信息并输出诊断文档 # ubuntu中无

工作目录切换环境

pwd 显示用户当前所在工作目录
cd 切换工作目录,cd ~切换到家目录,cd /etc进入etc目录
ls命令显示目录中的文件信息:ls[选项][文件]
-l是查看文件属性,-d查看目录属性

ls -ld /etc

文本文件编辑命令

cat命令用于查看纯文本文件(内容较少的),格式为"cat[选项][文件]",输出显示行号-n
more命令查看纯文本文件(内容较多的),格式more[选项][文件]
head命令 查看纯文本的前N行 head[选项][文件]
tail命令 用于查看纯文本文档的后N行或持续刷新内容。tail[选项][文件]
tr命令用于替换文本文件中的字符,格式[原始字符][目标字符]
wc命令统计指定文本的行数、字数、字节数,格式wc[参数]文本

-l 只显示行数
-w 只显示字符
-c 只显示字节数

stat命令用于查看文件的具体存储信息和时间,格式stat 文件名称
cat命令用于按列提取文本字符,格式cat[参数]文本;常常采用-d参数设置间隔符号,-f参数设置要看的列数

ji@ji-virtual-machine:~/www.baidu.com$ head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
ji@ji-virtual-machine:~/www.baidu.com$ cut -d: -f1 /etc/passwd

diff命令比较多个文本文件的差异,格式为diff[参数]文件

文件目录管理命令

touch命令用于创建空白文件或设置文件的时间,格式为touch[选项][文件]

-a 仅修改"读取时间"(atime)
-m 进修改‘修改时间’(mtime)
-d 同时修改atime与mtime

mkdir命令 用于创建空白的目录,格式为mkdir[选项] 目录
cp命令用于复制文件或目录,格式为"cp[选项] 源文件 目标文件"
参数

-p 保留原始文件的属性
-d 保留'链接文件'的属性
-r递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于pdr

mv命令用于剪切或将文件重命名。mv[选项] 源文件 [目标路径|目标文件名]
rm命令用于删除文件或目录,格式rm[选项] 文件,强制删除-f,删除目录-r

dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件。dd[参数]

if 输入的文件名称
of  输出的文件名称
bs 设置每个块的大小
count 设置要复制快的大小

听说这命令很强,可以复制镜像
file用于查看文件的类型,格式file 文件名

打包压缩和搜索命令

tar命令用于对文件进行打包压缩或解压。格式为tar[选项][文件],常见格式主要为.tar或.tar.gz.或.tar.bz2
参数及作用(参数=选项)

-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p保留原始的路径与属性
-p 使用绝对路径来压缩
-C 指定解压到的目录

-c用于创建压缩文件,-x用于解压文件,这两个参数不能一起使用,-z和-j使用特定格式来压缩或解压。-v参数显示解压过程,-C参数用于指定解压到那个目录,-f参数代表压缩或解压的包名。
压缩-czvf;解压-xzvf

tar -czvf etc1.tar.gz test.py # 最后一个是待压缩文件

解压缩的话也不用加-,可加可不加

并不知道怎么解压,疯狂报错

ji@ji-virtual-machine:~$ tar -xzvf etc1.tar.gz  a.py
tar: a.py:归档中找不到
tar: 由于前次错误,将以上次的错误状态退出
ji@ji-virtual-machine:~$ tar xzvf etc1.tar.gz  a.py
tar: a.py:归档中找不到
tar: 由于前次错误,将以上次的错误状态退出

上述错误有2:

1.没加-C 指定解压缩目录,就是个文件夹
2.在当前文件夹下不需要加/,及如下

 tar -xzvf etc.tar.gz -C test # test为当前文件的子文件夹,不加后面的文件名之类的,又由于压缩的是个文件夹

解压缩文件

ji@ji-virtual-machine:~$ tar -xzvf etc1.tar.gz -C test
test.py

都不需要为解压缩的文件重命名,不然就会找不到,应该可以重命名
grep命令用于在文本中执行关键字搜索,并显示匹配的结果,格式为grep[选项][文件]

-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有"关键词"的行

man 原来是查看命令的帮助信息,man grep
经常用到的-n,和-v,显示行号和反向选择
find命令用于按照指定条件来查找文件,格式“find[查找路径] 寻找条件 操作”

-name 匹配名称
-perm 匹配权限
-user 匹配所有者
。。。
-exec ....{}\; 后面跟进一步处理搜索结果的命令

-print竟然打印

是不是什么搜索的对象显示出来,或者说是对象,要显示,都需要打印-print

ji@ji-virtual-machine:~$ find -name 'host*' -print
./.cache/oneconf/a3ee007bc2affebbaef12ff800000002/host

第2章结束
tips:笔记来源Linux就该这样学,笔记第二章

努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
原文地址:https://www.cnblogs.com/wkhzwmr/p/15628777.html