Linux常用的命令可以分为以下几类:安装和登录命令、文件处理命令、系统管理相关命令、网络操作命令、系统安全相关命令、其它命令。
创新互联建站长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为保靖企业提供专业的网站设计、网站制作,保靖网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。
它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给,通过这些基础命令的学习可以进一步理解Linux系统:
安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last。
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup。
学习linux注意事项
1、Linux严格区分大小写。
2、Linux所有的存储设备都必须挂载之后用户才能使用,包括硬盘、U盘和光盘。
3、Windows下的程序不能直接在Linux中安装和运行。
查看CPU信息可以使用lscpu命令
从命令的输出结果可以看得出来CPU的型号是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同时可以执行四个任务。
如果想要同时执行更多的任务,可以在VMware WorkStation中修改,修改完成以后会立即生效。
除了lscpu以外,还可以使用cat /proc/cpuinfo命令查看CPU信息,不过它是以每核分开显示的。
使用free或者是cat /proc/meminfo可以查看当前系统的内存信息,包括总内存、已经使用内存以及可用内存信息
Linux和Windows不同的是Linux的图形界面只是它的一个程序,而不是必备组件。我们之前安装CentOS8.4选择的Server With GUI包含GNOME桌面的图形环境,我们可以使用init 3命令关闭图形,CentOS8会出现一个字符登录界面。
然后再使用free -h观察已经使用的内存只有334M,相比图形界面的730M 减少了接近400M内存,为了节省内存,生产环境一般不会安装和使用图形界面。
想要再切回图形界面使用init 5命令即可。
还可以使用runlevel命令查看当前系统运行的模式,其中输出结果的3表示之前是字符界面,5表示当前系统运行的是图形界面
使用lsblk命令可以查看磁盘信息,包括有几块磁盘以及每块磁盘的分区、容量信息
通过命令的执行结果可以得知目前CentOS8系统上有三块磁盘,分别是sda,sdb,sdc,其中sdb和sdc没有分区,
而sda磁盘是在安装系统时创建了四个分区,具体信息如下表格所示
除此以外还可以使用 cat /proc/partitions命令查看磁盘信息,从命令的执行结果可以看出容量还是以KB为单位。
通过arch命令可以查看当前系统架构为x86_64,这也是目前主流的系统架构。
不同的Linux发行版使用的Linux内核版本不同,通过uname -r可以查看Linux系统的内核版本
通过 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系统的版本,后期在开发程序时不同的操作系统版本需要做不同的处理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS还可以使用 cat /etc/redhat-release版本
Linux中的时间有系统时间和硬件时间两种
date和clock可以使用分号隔开后同时执行看系统时间和硬件时间
目前我的系统时间和硬件时间相差了18秒
如果硬件时间是准确的,那么就通过命令clock -s以硬件时间为准,同步校正系统时间。
如果系统时间是准确的,那么通过clock -w命令以系统时间为准,同步校正硬件时间
不同的国家在同一时刻所处的时间是不同的,因为时区不同。
例如中国就是东八区,东八区和格林威治的时区相比相差8个小时(也就是比北京时间慢了8个小时),之前在安装操作系统的时候设置的时区就是Asia/Shanghai,,通过timedatectl status查看当前时间状态,其中 Universal time就是格林威治时间,而Local Time就是系统设置时区(Asia/Shanghai)的时间,它们两者刚好相差了8个小时。 Time zone: Asia/Shanghai (CST, +0800) 表示当前的时区是亚洲上海。
如果现在你去了法国巴黎,可以通过timectl set-timezone 设置时区为欧洲巴黎,当修改时区后使用date命令查看系统时间显示的就是当前法国的巴黎时间,相比北京时间慢了6个小时。
修改时区最终影响的是 /etc/localtime文件
不过目前我在中国,因此还是改回亚洲上海
timedatectl list-timezones可以查看所有时区
cal命令可以查看当前月份的日历,例如今天是2021年10月5号
查看指定月份的日历
还可以查看指定年份的日历
生产环境不能随便关机和重启!!! 因为服务器基本都是 7*24 对外提供服务
测试环境或者是本地虚拟机安装的Linux服务器可以按需求关机或者重启
关机可以使用halt或者poweroff命令
而shutdown可以实现关机或者重启,shutdown -r表示重启,即reboot,shutdown -h表示关机,即halt。 -c表示取消关机或重启。
除此以外shutdown 还可以指定时间来关机或重启,默认是1分钟后执行。
关机和重启命令的常见用法
Linux下有nano和vim等文本编辑器,目前我们先使用nano来编辑文本。
如果系统上没有安装nano文本编辑器,那么在使用之前首先需要使用yum install -y nano命令来安装nano文本编辑器
在使用nano进行文本编辑时,nano后面跟文件路径即可打开文件,然后可以直接修改文件,类似于windows的记事本,修改完成后然后按Ctrl+x退出,接着按y保存修改,回车后退出nano。
然后使用nano /etc/motd来修改该文件,motd文件是用户登录之后提示的内容
然后输入Welcome to my class
之后按Ctrl+x退出nano编辑器,按y保存到文件汇中,然后按回车键确认修改。
再重新登录CentOS8.4
登录成功之后就会看到/etc/motd文件内容显示在终端上
我这里准备了一个motd文件,首先使用MobaXterm终端上传到/etc目录下覆盖现有的motd文件,在使用MobaXterm终端登录CentOS8.4-1后,首先将SSH Broswer的路径切换到/etc目录下
然后点击上传文件的按钮
选择提前准备好的motd文件上传到/etc目录下
然后再次重新登录系统就会看到一个大佛
大家可以自行访问 在线生成ASCII(图)艺术字,然后将内容复制到motd文件即可。
当我们登录Linux打开一个终端窗口,然后输入命令,用户与计算机的这种临时交互被称为一次会话(Session)、会话的一个重要的特点就是窗口与其中启动的进程是连接在一起的,打开窗口则会话开始,关闭窗口则会话结束,而且会话内部的进程也会随之而终止,不管有没有运行完成。
这里举一个例子,我们首先使用XShell远程登录CentOS8.4-1,然后使用ping 10.0.0.103命令检测是否能够连接10.0.0.103,也就是Ubuntu Server 20.04.3-1那台机器
命令执行的结果显示能够连接,而且只要你不关闭窗口会一直显示收到数据以及耗时。
然后我们复制一个会话
然后使用ps aux|grep ping 查看ping的进程信息,因为没有关闭会话窗口所以进程还在
当我们关闭之前开启的会话窗口之后
再次使用ps aux|grep ping查看进程会发现ping进程不存在了
为了解决上述的问题,我们就可以将会话与窗口解绑,也就是窗口关闭时会话并不会终止,而是继续运行,等到以后需要的时候,再让会话绑定其他窗口。
而终端复用器程序(例如screen,tmux)就是将会话与窗口的解绑工具,将它们彻底分离。
首次运行screen时会发现Shell提示command not found
我们需要使用yum install -y screen 来安装screen,但是执行之后发现提示错误:: Unable to find a match: screen
Centos8安装screen需要使用epel来安装,安装epel后,再安装screen,解决centos8无法安装screen的问题
然后再执行yum install -y screen 便可安装成功
Screen安装成功
在安装完screen后就可以使用了,首先在终端输入screen,然后你就会看到屏幕好像是刷新了一下,本质就是一个会话
然后再次运行ping 10.0.0.103
由于开启了screen,即使关闭了所有的会话窗口,你会发现使用ps aux |grep ping 命令查看ping命令的进程也还在。
如果后期在做运维工作,有些命令很耗时又怕误操作关闭会话导致命令的进程关闭就可以使用screen。
screen除了创建会话,能让命令关闭窗口后继续在后台执行的功能以外,还能够实现远程桌面共享,从而实现远程协助的功能。
实现该功能必须满足两个条件,两个用户必须使用同一个账号登录同一台机器。
例如这里小红和小明同时使用root账号登录了CentOS8.4,其中左边的窗口是小红,右边的窗口是小明
然后小红使用screen -S help开启一个远程会话,会话的名称叫help
然后小明使用screen -x help加入小红开启的会话
此时小明可以看到小红窗口的内容
当小明解决小红的问题后,可以使用ctrl a,d退出当前会话
如果小明不知道小红的会话名称,可以使用screen -ls获取当前会话
echo就是用于输出信息
echo输出固定字符串
echo输出变量值
echo输出转义字符
echo 默认可以实现换行
echo输出信息还可以带颜色
echo还可以清除屏幕,等价于clear命令或者是快捷键Ctrl+l
1选择
1.1一个文件的名字为rr.Z,可以用来解压缩的命令时()
tar
gzip
compress
uncompress
1.2可以结束进程命令()
kill
ctrl+c
shutdown
halt
1.3 Linux下对文件进行归档的命令为:(多选)
dd
tar
zip
unzip
1.4 Linux查当前目录下30天以前的文件并移动到/dev/null下的命令:(多选)
find.-mtime 30-type f xargs mv{}/dev/null;
find.-mtime+30-type xargs mv{}/dev/null;
find.-mtime+30-type f-exec mv{}/dev/null;
find.-mtime+30-type f-exec rm–rf{};
1.5 dstat与下面哪个命令类似
vmstat
sar
iotop
abc
1.6 rpm安装软件的参数
rpm-ivh
rpm-Ivh
rpm-Uvh
rpm-Iuvh
1.7 yum升级软件包选项
rpm-uvh
rpm-Uvh
1.8查看网络流量命令是?
iftop
nsload
ifstatd
以上命令全可以
1.9停止进程的命令,除了kill还有谁?
pkill
killa
allkill
以上命令都不正确
1.10服务器之间传文件的命令有?
wget
scp
ftp
以上命令都可以
1.11对文件进行归档的命令为
dd
cpio
gzip
tar
1.12在rpm命令中,安装新的rpm包软件使用的参数是()
-i
-v
-h
-e
1.13du命令中,使用友好的方式显示信息的参数是()
-h
-f
-a
-t
1.14将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式___
tar zxvf/home/stud1/wang.tar.gz/home/wang
tar xcvf/home/stud1/wang/home/wang
tar zcv/home/stud1/wang/home/wang
tar zcvf/home/stud1/wang/home/wang.tar.gz
1.15终止一个前台进程可能用到的命令和操作()A:kill
B:CTRL+C
C:shutdown
D:halt
1.16关闭Linux系统(不重新启动)可使用命令()
A:Ctrl+Alt+Del
B:halt
C:shutdown-r now
D:reboot
1.17下列提法中,不属于ifconfig命令作用范围的是__
A:配置本地环回地址
B:配置网卡的IP地址
C:激活网络适配器
D:加载网卡到内核中
1.18有关归档和压缩命令,下面描述正确的是()
A:用uncompress命令解压缩由compress命令生成地后缀为.zip的压缩文件
B:upzip命令和gzip命令可以解压相同类型文件
C:tar归档其压缩的文件可以有gzip命令解压缩
D:tar命令归档后的文件也是一种压缩文件
1.19终止一共前台进程可能用到的命令和操作
kill
ctrl+c
shut down
halt
1.22为了将当前目录下的归档文档myftp,tar解压缩到/tmp目录下,用户可以使用命令
tar xvzf my
tar xvzf my
tar vzf my
tar xvzf my
1.23下面有关linux查看系统负载的命令,说法错误的是?
uptime命令主要用于获取主机运行时间和查询linux系统负载等信息
vmstat命令可以查看cpu负载
sar命令可以查看网络接口信息
free命令可以查看磁盘负载情况
1.24以下哪些方式/命令不可以查看某ip是否可达?
telnet
ping
tracert
top
1.25 tar命令用于解压的参数是?-v-x-c-f
1.26下面哪个命令不是用来查看网络故障?
telnet
ping
init
netstat
1.28为了知道谁在正注册到你的机器上,可以用命令:___
Who users finger ping
1.29查看本网段其他计算机的MAC地址,可先ping对方主机,然后;
arp-g
arp-n
arp-a
arp-d
1.3014日下午2点date+%y%m%d%H%M输出的时间是什么
201711141212
1711141212
2017111412
201711021212
1.31以下哪个命令可以得出1487进程的线程运行情况()
top-Hp 1487
top-Pp 1487
ps-mp 1487
sat-p 1487
1.32从/home/oracle下搜索一个日志文件alert.log,以下哪种方式可达到目的()
find/home./oracle-name alert.log
locate alert.log
find./-mtime 7 alert.log
find/home/oracle-exec alert.log
1.34以下哪些命令可以用来测试网络中特定主机的80端口是否可以访问()
Ping telnet netstat lsof
2填空
2.1测试网络中主机的连通性用什么命令
2.2如何查看numa是否关闭_**_
2.3将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式_**
2.4某个进程使用端口7001,如何快速找到该进程的PID
2.5结束后台进程的命令是**_**
2.6将/home/studl/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此存到/home目录下,实现此任务的tar命令格式******__******
2.7 ping100个包的命令——
2.8 linux下,解压缩bz2格式文件的命令是**_**
2.9 linux下,查看网络连接状态的命令是**___**
2.10Linux查看文件系统的命令为__,显示目录或文件占用磁盘的命令为___
2.11通常我们测试网络连通性使用的ping命令,它是通过____协议进行工作的
2.12简述下列命令的各自作用
nslookup
dig
top
traceroute
2.13将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此问价保存到/home目录下,实现此任务的tar命令格****_****
2.14Linux系统查看进程数的命令___
2.15Linux系统查看系统内存的命令:____,**__**
2.16Linux系统查看cpu使用率的命令:____,**__**
2.17Linux系统查看硬盘空间使用率的命令:___
2.18Linux系统将某一文件下的所有.log文件进行打包压缩,命令为___
2.19Linux常用的性能监控命令是:_、_、_、_、_、_等
2.20假设output程序可能输出标准输出和标准错误,请写出一条命令把这两者都忽略__
2.21 rpm软件包安装命令**_**
3简答
3.1查看硬盘结构显示的命令?查看文档命令?编辑文档命令?
3.2配置网络环境的命令,手工修改IP,主机名,DNS和网关
3.3有压缩包a.tar.gz,如何解压该包?如何不解压该包,如何查看该包的内容?
3.4某进程abcd在系统中起了很多,数量难以统计,造成系统负荷较高,如何一条命令确保将此进程全部杀掉
3.5某日志路径是/data/logs/a.txt,如何跟踪该日志,以查看当时的运行状态?
3.6 dmesg命令显示的是哪方面信息
3.7寻找名称为mytest.log的文件
3.8写出du-sh与df-h的区别
3.9查看当前linux服务器是否监听80端口,如果监听,请找出其进程ID,并结束该进程。
3.10使用curl或者wget获取http服务的header信息。
3.11写出查看linux系统性能的命令,如cpu、内存、流量、io等
3.12解释下列命令的意思
dd if=/dev/random of=/dev/sda
3.13如何查看占用端口8080的进程
3.14查着占用内存最多的进程
3.15压缩和解压缩目录/opt/gjsy/所有文件命令
3.16Linxu系统下如何查看8080端口上运行的程序状态
3.17ps aux中的VSZ代表什么意思,RSS代表什么意思?
3.18PING是使用TCP/IP协议中的**_**协议
3.19写出网络故障排查常用的命令**__**
3.20写出你常用的网络抓包工具,软件名称**__**
3.21将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式___
3.22解释该命令的含义:nohup zcat test.gz|grep"x6game"~/log.txt
2/dev/null
3.23查看系统硬件负载工具或命令有哪些
3.24使用lsof命令查看占用80端口的进程
3.25如何使用CURL测试POST接口
3.26怎样在目录/home/user/training/下找到扩展名为txt的文件
3.27最常用的网络测试命令有什么?
3.28ping的测试结果中都包含哪些部分?
3.29如何找出占用22端口的进程及进程号?
3.30如何删除当前目录(包含字目录)下所有30天以前创建的文件名后缀为.log的文件
3.31以下一些Linux命令的作用分别是什么?
init 0
chkconfig--level 3 sendmail on
tar-czvf test.tar.gz./
chown-R
ln-s/data/log//var/log/sina_log
umount-f/data0
rpm-ivh baihui.rpm
rpm-qf/bin/ls
3.32LINUX常用命令pwd、top、df、ifconfig、cat分别代表什么含义?
3.33linux常用命令:关机、重启、编辑某文档文件、删除某文件、更改操作系统密码命令分别是什么?
3.34请使用命令:删除/backup目录下10天前的普通文件
3.35如何查看服务器当前连接ip的列表
3.36写出liunx系统中diff、chmod、grep、kill、tar五个常用命令的功能
3.37简述tar-cjvf/tmp/test.tar.gz/root命令中错误及错误原因
3.38Linux系统从A服务器测试B服务器一个tcp端口是否联通使用___
3.39写一个脚本查找最后创建时间使3天前,后缀是*.log的文件并删除
3.40linux如何根据进程ID查找启动程序的路径
3.41查看占用swap的进程id
3.42列出linux常见打包工具并写相应解压缩参数(至少三种)
3.43Linux中锁定一个文件用什么命令?他和md5sum有什么区别?
3.44如何在系统中查找所有所属用户为user1的文件
3.45查看某个文件或者文件夹占用磁盘空间大小的命令
3.46如何查看远程linux系统运行了多少时间?我的服务器内存,cpu,硬盘都是多少,系统版本,linux会优先将数据缓存到内存中,我的机器真实内存消耗实际上是多少
3.47查看服务器当前开启了哪些端口?如何查看某服务器是否存在IO压力
3.48如何查看某个文件system.log被哪些进程占用
扩展
1.21在退出unix系统账户之后还需要继续运行某个进程,那么可用()
awk sed crontab nohup screen
1.20使用trace命令的目的是()
可用的,十分成功的测试手段
非常基本的测试手段
把IP地址和DNS加入路由表中
在源到目标传输的过程中查找失散点
1.27哪个变量用来指定一个远程x应用程序将输出放到哪个x server上
TERM
DISPLAY
ECHO
OUTPUT
1.33P系列服务器被用做文件服务器,所有的用户文件存都放在一非rootvg的文件系统上,用什么方法可以快速备份和恢复这些数据和文件系统的定义()
tar
cpio
savefs
savevg
| 线上查询及帮助命令 |
man:全称为manual,用于查看系统中自带的各种参考手册;
help:用于显示shell内部命令的帮助信息;
| 文件和目录操作命令 |
ls:全拼list,列出目录的内容及其内容属性信息;
cd:全拼change directory,切换当前工作目录至dirName(目录参数);
cp:全称copy,复制文件或目录;
find:用于在指定目录及目录下查找文件;
mkdir:全拼make directories,创建目录;
mv:全拼move,移动或重命名文件;
pwd:全拼print working directory,显示当前工作目录的绝对路径;
rename:可用字符串替换的方式批量改变文件名;
rm:全拼remove,删除一个或多个文件或目录。必须格外小心地使用该命令;
rmdir:全拼remove empty directories,删除空目录;
touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件;
| 查看文件及内容处理命令 |
cat:全拼concatenate,用于连接多个文件并且打印到屏幕输出或重定向到指定文件中,可查看文件内容;
tac:cat的反向拼写,因此命令的功能为反向显示文件内容。文件内容的最后一行先显示,第一行最后显示;
less:可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件;
head:显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容;
tail:查看文件尾部内容,有一个常用的参数-f常用于查阅正在改变的文件。可以看到最新的文件内容;
| 文件压缩及解压缩命令 |
tar:tar命令是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件;
unzip:用于解压缩zip文件;
gzip:用于压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名;
zip:用来将文件压缩成为常用的zip格式。