一、linux的命令特点
1.linux命令区分大小写
2.命令可以用tab键补齐(如果补齐的命令或者内容唯一,则直接补齐,如果不是唯一,则控制台列出所有选项,例如有 abc abb acc xxxaa dad五个命令或者内容, 控制台输入a按动tab键后,会列出abc abb acc 三个选项提示,控制台输入x按动tab键后,控制台将自动补齐xxxaa)
3.如果要同时执行多个命令,命令之间可以使用“;”间隔,例如“cd /;ls”。
4.如果命令过长,可以使用反斜杠“\”,来分割。例如:ls换号分隔,需要l后面加"\"符号,然后再输入后半段。
[root@localhost /]# l\
> s
二、后台运行程序
你肚子很痛,着急去厕所,但是厕所满了,其中一个人只是再厕所里刷抖音,你气不气? 如果他能够换个地方刷抖音,是不是你可以解决自己的问题,同样也没又影响他的抖音娱乐,当他抖音刷完,想去厕所的时候,你的事情也解决了。
在linux的控制台同一时刻只可以运行一个程序或者命令,在当前程序或者命令执行结束前,一般情况,你是不可以进行其他操作的。此时,你可以将前面没运行完的程序放到后台去执行,这样你就可以进行其他操作了!
要使程序在后台执行,只需要在执行前,在命令的后面加上一个“&”符号,例如:tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr ,它在解压的时候,会将解压的所有文件输出到屏幕上(解压过程),这个过程中,你无法执行其他东西。但是tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr&,它同样还是会输出所有文件的解压过程到屏幕上,但是这个过程中,你可以输入其他命令。
三、文件和目录相关命令
1.pwd命令(Print-Working-Directory 输出(当前)工作目录 )
pwd命令表示(输出用户当前所处的目录)
2.cd命令(change directory 改变 目录)
cd表示切换目录 ,需要提前知道几个符号,“.”表示当前目录,“..”表示当前目录的父级目录,“-”表示历史目录(上一次访问的目录),“~”表示用户目录(类似windows系统每个用户的独有的用户目录,administrater用户就有一个自己独有的文件夹,叫做administrater,和用户名同名,例如下图)。ps:需要注意的是,linux中名字叫root(linux中的超级管理员,拥有最高权限)的用户,它的用户目录地址是/root,其他用户的用户目录地址皆是 /home/用户名字。
cd //切换到用户登录时的工作目录,一般用户登录默认进去是~目录
cd 目录名字 //切换到当前目录下的 “目录名字” 目录中
cd ~ //切换到用户目录
cd .. //切换目录位置到父级目录(上一级目录)
cd ../aaa //切换目录位置到 父亲目录的aaa目录中
cd /root/Desktop //切换目录位置到 根目录(/)下的root目录下的Desktop目录中 (温馨提示 只要目录地址为 / 开头 ,它就是从根目录开始,是一个绝对路径,linux所有的文件和目录都在“/”根目录下)
3.ls命令(list directory contents 列出(当前)目录内容)
ls [参数] [目录或文件]
常用参数
啥也不加 显示指定目录下,所有文件和目录,注意不包含被隐藏的文件(文件名 以 “.”开头的是隐藏文件)
-a 显示指定目录下,所有文件和目录,注意包含被隐藏的文件(文件名 以 “.”开头的是隐藏文件)
-l 用长格式的方式输出指定目录下的文件和内容的详细信息
注意各个参数可以组合使用,ll 命令 等同于 ls -l。
例子: ls -a /dev 显示/dev 目录下,所有文件和目录,包含被隐藏的文件
4.cat、more、less、head、tail命令
- cat命令 滚屏显示文件内容(类似浏览器那种)
- more命令,分屏显示文件内容(类似翻书),enter键向下移动一行,space键向下翻一页,q阅读退出界面。
- less命令,约等于more,more命令只能向下翻页,但是less可以向上和向下翻页,功能按键和more一致,但是B可以向上翻页,方向键可以向四个方向移动。
- head命令,显示文件的指定前几行。例如 head -n 20 /etc/profile , 显示profile文件的前20行 。 格式: head [参数] 文件名 //参数 “-n 10” 显示头10行 “-c 10” 显示头10个字符
- tail命令,显示文件的制定后几行。 格式: tail [参数] 文件名 //参数 “-n 10” 显示结尾10行 “-c 10” 显示结尾10个字符
5.mkdir命令(make directory 创建目录 )
mkdir 目录名
mkdir -p 目录名(例如:mkdir -p /a/b/aaa ,如果a目录和b目录不存在,则自动创建a、b目录,则在根目录下创建了a目录,a目录下创建了b目录,b目录下创建了aaa目录)
6.cp命令(copy 复制)
cp [参数] 源目录或者文件 目标地址
-r,如果复制的时候源目录中有很多文件和目录,那么将一起复制过去。
例如:cp -r jdk /root //将 jdk目录,复制到 根目录下的root目录下
需要注意的是不同用户之间复制的权限问题
7.mv命令(move 移动 、转变、改变)
mv有两钟功能
- 对目录或者文件进行移动位置操作(移动目录/文件)
- 对目录或者文件进行重命名操作(重命名目录/文件)
格式 mv [参数] 源文件/目录 目标文件/目录
例如 mv aaa bbb
如果bbb目录存在,则 aaa移动到bbb目录当中去
如果bbb目录不存在,则将aaa名字重命名为bbb
8.rm命令(remove 移开,拿开,废除,删除的意思)
格式 rm [参数] 文件名或者目录名字
rm -rf aaa 将 aaa目录删除,需要注意的是 r代表递归的意思,就是说aaa目录下可能有很多文件或者目录,对它们进行递归删除(全部删除),此处不理解的,可以百度一下什么叫做递归。f (force强迫、强制)强制删除,比如某些文件被占用,可以强制删除。
注意:一般情况下,参数-rf即可。
9.touch命令(创建或者更新文件)
touch英文应该叫触碰,但为什么有创建的意思呢?可以看下这个求大佬指点哈!为什么linux 创建文件是touch 而不是create求大佬指点!
格式:touch [参数] 文件名
例如 touch abc.txt ///在当前目录创建一个abc.txt的文件
10.rpm命令(redhat package manage)
redhat package manage 红帽 包 管理器 ,redhat(红帽)是linux的一个发行版本,类似 小米手机、oppo手机、锤子手机,虽然都有自己的操作系统,但是他们的操作系统都属于安卓操作系统,相当于是安卓的一个发行版本。 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
格式: rpm [参数] 软件包名字
-qa :查询系统中安装的所有软件包
-q: 查询系统中指定的软件包是否安装
-i:用于安装指定软件包
-v:显示详细的信息
-h:显示安装进度
-e:删除已安装的软件包
-U:升级软件包(升级的版本,必须大过当前版本)
-F:更新软件包
--nodeps :不检查依赖性
例如:CentOS 卸载、安装JDK_centos卸载jdk_Marvin-Fox的博客-CSDN博客
RPM命令的--nodeps 和--force参数解释_zhuzuwei的博客-CSDN博客
11.find命令(查找)
格式 find 查找范围 选项 内容
选项有: -name 根据姓名查找 -size根据文件大小查找 -user 根据 用户查找
需要提前学习通配符 * ?,*代表任意个字符(包括0个字符),?代表一个字符(有且仅有)
例子: find / -name "张*" 在根目录下查找名字为张xx的文件或者目录
12.locate命令(定位、查找)
文件查找命令locate与find的对比分析 | Linux运维部落
13.grep命令(文本搜索工具)
grep用于查找文件中包含有指定字符串的行
下图可以看出 rpm -qa 查询了系统中所有已安装的软件包, 行数可能有几百、几千行。
那么,如果我想查看linux中是否安装了java相关软件包,该怎么办呢?显然在这密密麻麻的几千行中去找java的字眼,是比较麻烦的!
那么,我们改写一下代码 ,改成 rpm -qa | grep java呢?(“|”是管道符号Linux管道符_一枚硬币~的博客-CSDN博客)
明显,rpm -qa的结果,被管道符号"|"处理成立 grep的输入, grep在输入中 过滤出java的相关信息。
四、系统信息相关命令
1.dmesg命令(display message 显示信息)
用于显示系统信息,例如:操作系统版本号、物理内存等相关硬件信息
2.free命令(free这个单词有自由的,空闲的,但是也有空间的意思)
用于查看内存的占用情况
3.date命令(时间日期)
4.cal命令(日历)
5.clock命令(计算机硬件所存储的日期和时间)
date与clock详解与区别_date clock_chen__yang_的博客-CSDN博客
五、进程管理相关命令
1.ps命令(process进程)
主要用户查看系统的相关进程
格式:ps [参数]
-a 显示所有进程
-u 显示进程的用户名和启动时间等信息
2.pidof命令(process id of)
查询某个服务的进程id(PID)值
pidof [参数] [服务名字]
注意每个进程的pid是唯一的,就像人类的身份证号,是它在linux系统中的唯一标识。
3.kill命令(击杀)
上图可以看出,给出了kill的若干选项,一般选择用第九个 SIGKILL即可
例如 kill -9 相关进程的pid
4.killall命令(终止某个服务的全部进程)
5.top命令(类似windows任务管理器)
top -d 20 每20秒刷新一次
类似ps命令,但是它是实时监控,实时刷新,也可以设置xx秒刷新一次
ctrl +c 中断
6.at命令
在某个特定的时间,执行提前预定好的指令,就可以使用它,很有用,比如网站的数据库数据,每天固定某个时间进行导出拷贝,并上传到某个备用服务,以防信息丢失,不可挽回。
六、其他常用命令
1.clear命令
清楚控制台上面的历史输出信息(快捷键Ctrl+L)
2.man命令
帮忙命令,可以查看一些命令的帮助手册。
例如 man ls 就是查看ls的帮助手册
3.shutdown命令
shutdown [参数] 时间
-r重启 -h关机 ///参数
now 立即 hh:mm 绝对时间 m 分钟 时间
例如:shutdown -r 01:00 一小时后 重启
4.reboot命令
重启系统
5.poweroff命令
关闭系统
6.history命令
查看历史命令
7.wget命令
从网络下载资源
wget [参数] 资源下载地址
8.who命令
查看当前是哪个用户在登录
9.last命令
查看系统的登录记录