新手必须掌握的Linux命令

发布于2020-08-19   653 次阅读


本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。

强大好用的Shell

图形化工作相较于Linux命令行界面会更加消耗系统资源,需要运维工作时直接通过命令行模式远程连接过去,这样比较高效

Shell就是这样的一个命令行工具.Shell称作为终端或者壳,充当的是用户和内核之间的翻译官,用户输入相关的命令就会调用相应的程序服务去完成工作

执行帮助文档命令

常见执行Linux命令的格式是这样的

命令名称 [命令参数] [命令对象]

命令参数可以使用长格式或者短格式

长格式man --help
短格式man -h
命令参数的长格式与短格式示例

常用系统工作命令

echo命令

echo用于在终端输出字符串或变量提取后的值,格式为"echo[字符串|$变量]"

echo yeyufan.cn

date命令

date命令用于设置系统的时间或日期,格式为"date[选项][+指定的格式]"

--查看当前时间
date
--以"年-月-日 小时:分钟:秒"的格式查看时间
date "+%Y-%m-%d %H:%M:%S"
--将当前时间设置为2020年1月1日8点30分
date -s"20200101 8:30:00"
--查看今天是当年中第几天
date "+%j"

reboot命令

reboot命令用于重启系统

reboot

poweroff命令

poweroff命令用于关闭系统

wget命令

wget命令用于在终端中下载网络文件,格式为wget[参数]下载地址

参数作用
-b后台下载模式
-P下载到指定目录
-t最大尝试次数
-c断点续传
-p下载页面内所有资源
-r递归下载
wget命令的参数以及作用
--把baidu.com的内容下载到website目录下
wget -P website baidu.com

ps命令

ps命令用于查看系统中的进程状态,格式为"ps[参数]"

参数作用
-a显示所有进程
-u用户以及其他详细信息
-x现实没有控制终端的进程
ps命令的参数以及作用
ps aux
--Linux系统中 命令参数有长短之分,长格式之间不能合并,短格式之间可以合并,合并后只保留一个-符号,PS命令特殊一点,-符号也可以省略掉

linux上进程有5种常见的进程状态:

  • R运行(正在运行或在运行队列中等待)
  • S中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  • D不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  • Z僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  • T停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

  • USER:进程所有者
  • PID:进程的ID号
  • %CPU:进程占用的CPU百分比
  • %MEM:占用内存的百分比
  • VSZ:进程使用的虚拟內存量
  • RSS:该进程占用的固定內存量
  • TTY:所在终端
  • STAT:进程状态
  • START:被启动时间
  • TIME:实际使用CPU的时间
  • COMMAND:命令名称与参数

top命令

top命令用于动态监控进程活动与系统负载等信息,加强版任务管理器

系统时间,运行时间.登陆终端数,系统负载(三个数值分别为1分钟,5分钟,15分钟内的平均值,数值越小负载越低)

进程总数,运行中的进程数,睡眠中的进程数,停止的进程数,僵死的进程数

用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲的资源百分比

物理内存总量,内存使用量,内存空闲量,作为内核缓存的内存量

虚拟内存总量,虚拟内存使用量,虚拟内存空闲量,已被提前加载的内存量

pidof命令

pidof命令用于查询某个指定服务进程的PID值,格式为"pidof[参数][服务名称]"

pidof sshd

kill命令

kill命令用于终止某个指定PID 的服务进程,格式为"kill[参数][进程PID]"

kill 3506

killall命令

killall命令用于终止某个指定名称的服务所对应的全部进程,格式为"killall[参数][进程名称]"

killall sshd

系统状态检测命令

ifconfig命令

ifconfig命令用于获取网卡配置与网络状态等信息,格式为"ifconfig[网络设备][参数]"

ifconfig

uname命令

uname命令用于查看系统内核与系统版本信息,格式为"uname[-a]"

uname -a

若需要查看当前系统版本的详细信息,则需要查看 redhat-release文件

cat /etc/redhat-release

uptime命令

uptime命令用于查看系统负载信息

uptime

free命令

free命令用于显示当前系统中内存的使用量信息,格式为"free[-h]"

free -h

who命令

who命令可以查看当前登入主机的用户终端信息,格式为"who[参数]"

who

last命令

last命令用于查看所有系统的登陆记录,格式为"last[参数]"

history命令

history命令用于显示历史执行过的命令,格式为"history[-c]"

history 

history -c 则会清空所有的命令历史记录

sosreport命令

sosreport命令用于收集系统配置以及架构信息并输出诊断文档

工作目录切换命令

pwd命令

pwd命令用于显示用户当前所处的工作目录

pwd

cd命令

cd命令用于切换工作路径

cd /etc
cd -
cd ..

ls命令

ls命令用于显示目录中的文件信息

ls -al

文本文件编辑命令

cat命令

cat命令用于查看纯文本文件(内容较少)


cd ~
cat -n initial-setup-ks.cfg 

more命令

more命令用于查看纯文本文件(内容较多)

cd ~
more initial-setup-ks.cfg 

head命令

head命令用于查看纯文本文件的前N行,格式为"head[选项][文件]"

cd ~
head -n 20 initial-setup-ks.cfg

tail命令

tail命令用用于查看纯文本文件的后N行或者持续刷新内容,格式为"tail[选项][文件]"

tail -f /var/log/messages 

tr命令

tr命令用于替换文本中的字符,格式为"tr[原始字符][目标字符]"

cat anaconda-ks.cfg |tr [a-z] [A-Z]

wc命令

wc命令用于统计指定文本的行数,字数,字节数

wc -l /etc/passwd

stat命令

stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文件名称"

stat anaconda-ks.cfg

cut命令

cut命令用于按"列"提取文本字符,格式为"cut[参数] 文本"

cut -d: -f1 /etc/passwd

diff命令

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

文件目录管理命令

touch命令

touch命令用于创建空白文件或设置文件的时间

touch -d "2017-01-01 14:22" anaconda-ks.cfg 

mkdir命令

mkdir命令用于创建空白的目录

mkdir linuxstudy
cd linuxstudy/

cp命令

cp命令用于复制文件或目录

cp install.log xx.log

mv命令

mv命令用于剪切文件或重命名

mv test.txt test2.txt

rm命令

rm命令用于删除文件或目录

rm install.log
rm -f install.log

dd命令

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

dd if=/dev/zero of=560_file count=1 bs=560M
--从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存为名为560_file的文件

file命令

file命令用于查看文件的类型

file anaconda-ks.cfg

打包压缩与搜索命令

tar 命令

tar 命令用于对文件进行打包压缩或解压

tar -czvf test.tar.gz 1.txt
tar -xzvf test.tar.gz

grep命令

grep命令用于在文本中执行关键词搜索并显示匹配的结果

grep /sbin/nologin /etc/passwd

find命令

find命令用于按照指定条件来查找文件

find /etc -name "host*" -print
在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到
/root/findresults 目录。
该实验的重点是“-exec {} \;”参数,其中的{}表示 find 命令搜索出的每一个文
件,并且命令的结尾必须是“\;” 。完成该实验的具体命令如下:
 find / -user linuxprobe -exec cp -a {} /root/findresults/ \;

=

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。