Linux常用命令,开发必备技能,速收藏有哪些?

摘要:在前面我们介绍了通过VirtualBox安装Linux的方法,参考: 一网打尽,一文讲通虚拟机VirtualBox及Linux使用 本文我们将介绍在使用linux的过程中常用的一些Linux命令,掌握这些常用命令,对操作linux是非常的有
在前面我们介绍了通过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),及时了解最新动态。 使用微信扫描二维码立即关注