linux就该这么学--第二章--linux新手命令

linux系统中的一切都是文件

linux系统中的一切都是文件

linux系统中的一切都是文件

2.1 Shell

计算机硬件是有运算器、控制器、存储器、输入输出设备共同组成,而让各硬件设备各司其职有协同合作的东西就是系统内核。

linux系统内核主要负责完成对硬件资源的分配、调度等管理任务

shell(终端或壳)的作用,用户把命令告诉终端,终端便会调用相应的程序服务无完成某些工作

主流linux系统选择Bash(Bourne-Again SHell)解释器作为命令行终端有以下4项优势

1.上下键可以调取过完执行过的linux指令

2.命令或者参数只需要前几位就可以用Tab键补全

3.具有强大的批处理脚本

4.具有实用的环境变量功能

常见的Linux命令格式:

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

2.2 查看帮助指令

man

2.3 常用系统工作命令

echo命令  输出字符串或者变量提取后的值,格式是“echo [字符串 | $变量]”

[linuxprobe@linuxprobe Desktop]$ echo adssdfasdf
adssdfasdf
[linuxprobe@linuxprobe Desktop]$ echo $SHELL
/bin/bash
 

date 显示和设置系统的时间或日期 

命令格式 :data [选项] [+指定的格式]

[linuxprobe@linuxprobe Desktop]$ date
Thu Feb 21 20:42:32 KST 2019
[linuxprobe@linuxprobe Desktop]$ date "+%Y-%m-%d %H:%M:%S"
2019-02-21 20:43:50
[linuxprobe@linuxprobe Desktop]$ date -s "20170901 8:30:00"        //       设置系统时间
date: cannot set date: Operation not permitted
Fri Sep  1 08:30:00 KST 2017
[linuxprobe@linuxprobe Desktop]$ date "+%j"                            //显示今天是当年的第几天
052
 

reboot命令用于重启系统

poweroff命令用于关闭系统

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

命令的参数以及作用看书本35页

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

-a 显示所有进程 (包括其他用户的进程)

-u 用户以及其他详细信息

-x 显示没有控制终端的进程

5中常见的进程状态及其含义

R(运行):进程正在运行或者在运行队列中等待

S(中断):进程处于休眠中,当某个条件形成后或者接受到信号时,则脱离该状态

D(不可中断):进程不响应系统异步信号,即使kill命令也无法将其停止

Z(僵死):进程已经终止,但进程的描述符依然存在,知道父进程调用wait4()系统函数后将其释放

T(停止):进程收到停止信号后停止运行

:linux系统中的命令参数有长参数和短格式之分,长格式和短格式之间不能合并,但是短格式和短格式之间可以合并,合并后仅保留一个减号即可,另外ps这个命令允许参数不加减号

top命令用于动态地查看进程活动与系统负载等信息,格式为top,因此该指令相当强大,相当于windows任务管理器

显示的各行的具体内容看38页

pidof命令用于查询某个服务器进程PID值,格式为 “pidof [参数] [服务名称]”

每个进程的进程号码值(PID)是唯一的,故可以用PID来区分不同的进程

kill命令强行终止某个指定的PID服务进程,格式为“kill [参数] [进程PID]”

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

注:如果在终端执行一条命令时想立即停止该命令,可通过同时按下ctrl+C来实现

如果命令在执行时不断地在屏幕上不断输出信息,影响后续命令的输入,可以在执行命令时在最后添加&符号,这样命令就会进入后台执行

2.4 系统状态监测命令

为了快速查看linux系统的运行状态,接下来将讲解与网卡网络、系统内核、系统负载、内存使用情况、当前启动终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法

这些指令都需要我们认真学习

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

主要查看的是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(MAC地址),以及RX、TX的接收数据包和发送数据包的数量和累计流量

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

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

uptime命令用于查看系统的负载信息,格式为uptime

该命令很好,它可以显示当前系统时间、系统已运行时间、启动终端数量以及平均负载值等信息

平均负载值指的是系统在最近1/5/15分钟内的压力情况

[linuxprobe@linuxprobe Desktop]$ uptime
 23:17:00 up  3:36,  2 users,  load average: 0.00, 0.01, 0.05
负载值越低越好,尽量不要超过1,在生产环境中尽量不要超过5

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

[linuxprobe@linuxprobe Desktop]$ free -h
                     total       used       free     shared    buffers     cached
Mem:          1.9G       1.3G       667M       9.8M       928K       338M
-/+ buffers/cache:       980M       1.0G
Swap:         2.0G         0B       2.0G
shared:进程共享的内存量       buffers磁盘缓存的内存量           cached 缓存的内存量

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

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

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

历史命令会被保留在用户家目录中的.bash_history 文件中、Linux系统以.开头的文件代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容

要查看历史记录用history   清空历史记录则是用history -c

命令前面的数字除了排序还可以通过“!数字”的命令格式重复执行某一次的命令记录

[linuxprobe@linuxprobe Desktop]$ history
    1  man
    2  manm man
    3  man man
    4  cat diff_A.txt
    5  cat TRANS.TBL
    6  cat EULA
    7  ls -l EUAL
    8  ls -l EULA
[linuxprobe@linuxprobe Desktop]$ !3        //这样便能执行第三条语句

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

2.5 工作目录切换命令

工作目录指的是用户当前在系统中所处的位置,与系统存储结构相关

pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”

ct命令用于切换工作路径,格式为“cd [目录名称]”

这条命令时最常用的一个Linux命令,“cd-”命令返回到上一次所处的目录,“cd..”命令进入上级目录

“cd~”切换到当前用户的家目录    “cd~username”切换到其他用户的家目录

ls命令用于显示目录中的文件信息,格式“ls [选项] [文件]”

2.6 文本文件编辑命令

Linux系统中的“一切都是文件“,对服务进程进行配置自然也就是编程程序的配置文件。查阅系统或服务器的配置文件很重要。

本节讲解的主要内容为查看文本文件内容的命令,编辑器的使用将会在第四章讲解

cat命令 用于查看(内容较少的)纯文本文件,格式为“cat [选项] [文件]”,若想显示行号,则需要在cat命令后面追加一个-n参数

more命令用于查看内容较多的纯文本文件,格式为“more [选项] [文件]”

会在最下面显示阅读了百分之几的内容,还可以用空格回车翻页

head命令为查看纯文档的前N行,格式为“head -n 数量 文件”

tial命令为查看纯文档后N行或者持续刷新的内容,格式同上

若想持续刷新一个文件的内容,或者实时查看最新文件日志,则用“tail -f 文件名”

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

若想将文本中的小写全部换成大写的,可用

“cat 文件名 | tr [a-z] [A-Z]”

wc命令用于统计文本中的函数、字数、字节数,格式为“wc [参数] 文本”

-l显示行数  -w显示单词数  -c显示字节数

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

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

-f参数来决定需要看到的列数,-d参数来设置间隔符号(即每一行到什么符号为止就要跳到下一列)

cut -d: -f1 文件名   (间隔符是:)

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

--brief参数用于确认另个文件是否相同,-c参数来详细比较多个文件的差异之处,从而判断文件是否被篡改

2.7 文件目录管理命令

日常运维中需要掌握对文件件的创建、修改、复制、剪切、更名、删除等操作

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

-a仅修改“读取时间”(atime)    -m仅修改“修改时间”(mtime)    -d同时修改atime和mtime

touch -d “时间” 文件名

mkdir命令 用于创建空白的目录,格式为“mkdir 选项 目录”

cp 命令用于复制文件或者目录,格式为“cp 选项 源文件 目标文件”,cp命令的参数及其作用看书本52页

linux系统中复制操作具体分为两种

如果目标文件时目录,则会把源文件复制到该目录中

如果源文件也是普通文件,则会询问是否覆盖它

如果目标文件不存在,则执行正常的复制操作

mv命令用于剪切文件或者将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”

rm命令用于删除文件或者目录,格式为“rm [选项] 文件”

-f强制删除  -r删除一个目录

dd命令用于按照指定大小和个数的数据块来复制文件或转移文件,格式为“dd [参数]”

通过该指令可以创建任意大小的文件

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

[linuxprobe@linuxprobe Desktop]$ dd if=asd of=zxc count=1 count=560M
0+1 records in
0+1 records out
104 bytes (104 B) copied, 0.000173001 s, 601 kB/s
file命令用于查看文件类型

2.8 打包压缩和搜索命令

命令有tar  grep  find 但参数多,这里不意义列举,详情看书本54页

tar命令用于对文件进行打包压缩或解压,格式为:“tar [参数] [文件]”

grep命令用于在文本中执行关键词搜索,并显示匹配结果,格式为“grep [参数] [文件]”

两个最关键的参数

-n 用来显示搜索到信息的行号

-v用于反选信息(即没有包含关键词的所有信息行)

linux系统中/etc/passwd文件时保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以用grep来寻找当前系统中不允许登录系统的所有用户信息

[linuxprobe@linuxprobe /]$ grep /sbin/nologin /etc/passwd
 

find 命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”

重要参数 -exec该参数将find命令搜索到的结果交友紧随其后的命令做进一步处理

获取该目录中所有已s开头的文件列表,linux系统中的配置文件会保存在/etc目录中

[linuxprobe@linuxprobe /]$ find /etc -name "s*" -print       //-name匹配名称     -prune忽略某个目录
/etc/pki/ca-trust/source
/etc/pki/nssdb/secmod.db
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
/etc/ssh
/etc/ssh/ssh_config
/etc/ssh/sshd_config
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key.pub
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
/etc/system-release
 

猜你喜欢

转载自blog.csdn.net/qq_25785565/article/details/87827979
今日推荐