在前面我们介绍了通过VirtualBox安装Linux的方法,参考:
一网打尽,一文讲通虚拟机VirtualBox及Linux使用
本文我们将介绍在使用linux的过程中常用的一些Linux命令,掌握这些常用命令,对操作linux是非常的有帮助,本文基于CentOS7.6。
常见执行Linux命令的格式是这样的: 命令名称 [命令参数] [命令对象]
注意,命令名称、命令参数、命令对象之间请用空格键分隔。
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),
也可以用短格式(单个字母的缩写),两者分别用--与-作为前缀
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
1、系统服务管理
1.1、systemctl
Linux 服务管理两种方式service和systemctl
systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。systemd对应的进程管理命令是systemctl,systemctl命令兼容了service。
systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command 主要有:
start:立刻启动后面接的 unit。
stop:立刻关闭后面接的 unit。
restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
enable:设置下次开机时,后面接的 unit 会被启动。
disable:设置下次开机时,后面接的 unit 不会被启动。
status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
is-active:目前有没有正在运行中。
is-enable:开机时有没有默认要启用这个 unit。
kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
show:列出 unit 的配置。
mask:注销 unit,注销后你就无法启动这个 unit 了。
unmask:取消对 unit 的注销。
- 输出系统中各个服务的状态:
systemctl list-units --type=service
- 查看服务的运行状态:
systemctl status firewalld
- 关闭服务:
systemctl stop firewalld
- 启动服务:
systemctl start firewalld
- 重新启动服务(不管当前服务是启动还是关闭):
systemctl restart firewalld
- 重新载入配置信息而不中断服务:
systemctl reload firewalld
- 禁止服务开机自启动:
systemctl disable firewalld
- 设置服务开机自启动:
systemctl enable firewalld
2、文件管理
2.1、ls
Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
语法:ls [-alrtAFR] [name...]
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- -R 若目录下有文件,则以下之文件亦皆依序列出
ls -l /
2.2、pwd
pwd(英文全拼:print work directory) 命令用于显示工作目录。
执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。
2.3、cd
cd(英文全拼:change directory)命令用于切换当前工作目录。
cd [dirName]
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。
cd /usr/local
2.4、date
date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。
date '+%Y-%m-%d %H:%M:%S'
2.5、passwd
用于设置用户密码:
语法:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
必要参数:
-
-d 删除密码
-
-f 强迫用户下次登录时必须修改口令
-
-w 口令要到期提前警告的天数
-
-k 更新只能发送在过期之后
-
-l 停止账号使用
-
-S 显示密码信息
-
-u 启用已被停止的账户
-
-x 指定口令最长存活期
-
-g 修改群组密码
-
指定口令最短存活期
-
-i 口令过期后多少天停用账户
passwd yonghu
2.6、su
su(英文全拼:swith user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。改变用户身份(切换到超级用户)
语法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
事例:su -
2.7、clear
用于清除屏幕信息
2.8、man
显示指定命令的帮助信息:
man ls
2.9、who
who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
- 查询系统处于什么运行级别:
who -r
- 显示目前登录到系统的用户:
who -buT
2.10、free
显示系统内存状态(单位MB),会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
语法:free [-bkmotV][-s <间隔秒数>]
事例:free -m
2.11、ps
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
显示系统进程运行动态:
ps -ef
查看sshd进程的运行动态:
ps -ef | grep sshd
2.12、top
查看即时活跃的进程,top命令是Linux下常用的性能分析工具,能够实时显示Linux系统中各个进程的资源占用状况,类似于Windows系统的任务管理器功能。
top命令的语法格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
常用参数说明
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID,仅仅监控某个进程的状态。
q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
2.13、mkdir
mkdir(英文全拼:make directory)命令用于创建目录。
语法:mkdir [-p] dirName
2.14、more
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
如:用于文件过长时分页查看文件内容 每页10行查看core50test.out.log文件
more -c -10 /root/app_data/data/logs/core50test/core50test.out.log
2.15、cat
查看Linux启动日志文件,并标明行号:
cat -Ab /var/log/boot.log
2.16、touch
创建text.txt文件:
touch text.txt
2.17、rm
rm(英文全拼:remove)命令用于删除一个文件或者目录。
语法
rm [options] name...
参数:
-
-i 删除前逐一询问确认。
-
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-
-r 将目录及以下之档案亦逐一删除。
事例:
- 删除文件:
rm text.txt
- 强制删除某个目录及其子目录:
rm -rf testdir/
2.18、cp
将test1目录复制到test2目录
cp -r /mydata/test1 /mydata/test2
2.19、mv
移动或覆盖文件:
mv text.txt text2.txt
3、压缩与解压
3.1、tar
tar(英文全拼:tape archive )命令用于备份文件。tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
- 将/etc文件夹中的文件归档到文件etc.tar(并不会进行压缩):
tar -cvf /root/mydata/etc.tar /etc
- 用gzip压缩文件夹/etc中的文件到文件etc.tar.gz:
tar -zcvf /root/mydata/etc.tar.gz /etc
- 用bzip2压缩文件夹/etc到文件/etc.tar.bz2:
tar -jcvf /root/mydata/etc.tar.bz2 /etc
- 分页查看压缩包中内容(gzip):
tar -ztvf /root/mydata/etc.tar.gz |more -c -10
- 解压文件到当前目录(gzip):
tar -zxvf /root/mydata/etc.tar.gz
4、磁盘和网络管理
4.1、df
df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
df -hT
4.2、du
du (英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。
du -h --max-depth=1 ./*
4.3、ifconfig
显示当前网络接口状态
4.4、netstat
netstat 命令用于显示网络状态。利用 netstat 指令可让你得知整个 Linux 系统的网络情况。
- 查看当前路由信息:
netstat -rn
- 查看所有有效TCP连接:
netstat -an
- 查看系统中启动的监听服务:
netstat -tulnp
- 查看处于连接状态的系统资源信息:
netstat -atunp
4.5、wget
wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。
对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。
如果不能使用,请先安装wget
yum install -y wget
查看帮助手册
wget --help
a、使用 wget 下载单个文件
以下的例子是从网络下载一个文件并保存在当前目录
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
b、使用 wget -O 下载并以不同的文件名保存
wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
**c、使用 wget -c 断点续传 **
使用wget -c重新启动下载中断的文件:
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件
wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
d、使用 wget -b 后台下载
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载
[root@network test]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
你可以使用以下命令来察看下载进度
tail -f wget-log
5、软件的安装与管理
5.1、rpm
rpm(英文全拼:redhat package manager) 命令用于管理套件。 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
-
安装软件包:rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
-
模糊搜索软件包:rpm -qa | grep nginx
-
精确查找软件包:rpm -qa nginx
-
查询软件包的安装路径:rpm -ql nginx-1.12.2-2.el7.x86_64
-
查看软件包的概要信息:rpm -qi nginx-1.12.2-2.el7.x86_64
-
验证软件包内容和安装文件是否一致:rpm -V nginx-1.12.2-2.el7.x86_64
-
更新软件包:rpm -Uvh nginx-1.12.2-2.el7.x86_64
-
删除软件包:rpm -e nginx-1.12.2-2.el7.x86_64
用法: rpm [选项...] -a:查询所有套件; -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称; -c:只列出组态配置文件,本参数需配合``"-l"``参数使用; -d:只列出文本文件,本参数需配合``"-l"``参数使用; -e<套件档>或--erase<套件档>:删除指定的套件; -f<文件>+:查询拥有指定文件的套件; -h或--``hash``:套件安装时列出标记; -i:显示套件的相关信息; -i<套件档>或--``install``<套件档>:安装指定的套件档; -l:显示套件的文件列表; -p<套件档>+:查询指定的RPM套件档; -q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户; -R:显示套件的关联性信息; -s:显示文件状态,本参数需配合``"-l"``参数使用; -U<套件档>或--upgrade<套件档>:升级指定的套件档; -``v``:显示指令执行过程; -vv:详细显示指令执行过程,便于排错。
5.2、yum
yum(Yellow dog Updater Modified)是CentOS中属于RPM前端软件包管理器,能从指定的服务器中下载RPM包,并自动分析和处理RPM包之间的依赖关系,最后将依次所依赖的软件包都安装了,而无需繁琐的一个一个安装。
yum 语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名
yum常用命令
-
安装软件包: yum install nginx
-
删除软件包命令:**yum remove **
-
检查可以更新的软件包:yum check-update
-
清除缓存命令:
- yum clean packages: 清除缓存目录下的软件包
- yum clean headers: 清除缓存目录下的 headers
- yum clean oldheaders: 清除缓存目录下旧的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
-
更新指定的软件包:yum update nginx
-
在资源库中查找软件包信息:删除软件包命令:**yum remove **
-
列出已经安装的所有软件包:yum info installed
-
列出软件包名称:yum list nginx*
-
模糊搜索软件包:yum search nginx
一文讲通.NET Core部署到Windows IIS最全解决方案]
.NET Core部署到linux(CentOS)最全解决方案,常规篇
.NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)
.NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)
.NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成、自动化部署)
一网打尽,一文讲通虚拟机VirtualBox及Linux使用
全新跨平台版本.NET敏捷开发框架-RDIFramework.NET5.0震撼发布
RDIFramework.NET敏捷开发框架助力企业BPM业务流程系统的开发与落地
通过SignalR技术整合即时通讯(IM)在.NET敏捷开发框架中落地
一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。
RDIFramework.NET官方网站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
特别说明,框架相关的技术文章请以官方网站为准,欢迎大家收藏!
RDIFramework.NET框架由海南国思软件科技有限公司专业团队长期打造、一直在更新、一直在升级,请放心使用!
欢迎关注RDIFramework.NET框架官方微信公众号(微信号:guosisoft),及时了解最新动态。
使用微信扫描二维码立即关注