linux20个常用命令_常用shell命令

linux20个常用命令_常用shell命令文章目录Linux_day01ipv4地址服务器Linux_day02Linux的文件目录Linux基本指令一.基础指令1.ls指令:2.pwd命令3.cd命令——改变目录4.mkdir—— 创建目录5.touch指令——创建文件6.cp指令——复制7.mv指令——移动,重命名8.rm指令——移除,删除9.vim指令10.输出重定向11.cat指令二.进阶指令1.df指令——查看磁盘空间2.free指令——查看当前内存的使用情况3.head指令——查看文件的前n行(默认n为10)4.tail指令——查看文件

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Linux_day01

Linux的一些相关知识,Linux 与windows与mac的区别

ipv4地址

xxx.xxx.xxx.xxx 四段

格式正确的IP地址为:

第一段1-255,从第二段起0-255

ip地址可以分为外网ip内网ip,分别对应公网私网

  • 公网:全世界都可以互相访问的网,比如万维网www

  • 私网/内网/局域网:在某个单元内部(家庭,教师,公司)能够互相访问的网络

服务器

服务器一般使用Linux操作系统

32位和64位

  • 32位,232,只能寻址4G的空间,实际大概只有3G 210=1K ,220=1M,230=1G

  • 64位,264

Linux_day02

Linux的文件目录

  • Linux中一切皆文件,包括磁盘,进程…
  • Linux计算机下的文件一些重要文件介绍
    请添加图片描述

bin:binary——存放二进制文件,可以被运行

dev:device——存放外接设备(磁盘,光盘),不能被直接使用,需要被挂载——#mount

etc:存放配置文件,例如网站解析软件的配置文件,数据库的配置文件,各类插件

home:存放,除roo用户t外其他用户的家目录

mnt:当外接设备需要挂载的时候,需要挂载到/mnt目录下对应目录(必须是挂载到目录

proc:process——存放Linux运行时的进程

root:该目录是root用户自己的家目录

sbin:super binary——存放可以被执行的二进制文件(必须有超级管理员权限的用户才能执行)

tmp:临时文件,系统运行时候产生的临时文件

usr:用户自己安装的软件——类似windows下的program files

var:存放程序/系统的日志文件的目录


补充个人习惯:
app+:存放下载的软件
data:存放数据库信息

Linux基本指令

  • Linux命令的标准格式

// # + 指令 + [选项 ] +[ 操作对象]

一个指令可以包含多个选项,多个操作对象

一.基础指令

1.ls指令:

用法一:#ls

list——列表,列出当前工作目录下,所有文件和文件夹的名称

用法二:#ls + 路径

列出当指定路径下,所有文件和文件夹的名称


补充:绝对路径和相对路径

  • 相对路径:得有一个参照(一般为当前的工作路径)——(前面用符号./或者 . . /)

​ ./表示当前目录,和不加./直接使用指令是一样的

​ . . /表示上一级目录

  • 绝对路径:从根开始找,不需要参照(前面要用符号 /)

​ 用法三:#ls +选项+路径

​ 列出指定路径下的文件、文件夹名称,并以指定格式进行显示

01: #ls -l 路径

-l表示列表list,以详细列表的形式进行展示

02: #ls -la 路径

-la表示显示所有的文件/文件夹(包含隐藏文件——文件名以.开头)

请添加图片描述
请添加图片描述
请添加图片描述


03:#ls -lh 路径

列出指定路径下的所有文件、文件夹的名称,以列表的形式并且在显示文档的大小时,以可读性较高的形式显示

(h:文件大小带单位了,自动适配合适单位)


一般linux中的目录大小都为4k

2.pwd命令

用法:无参数,print working diretory 打印当前所在目录

3.cd命令——改变目录

change directory:

格式:#cd 路径

案例1:当前在“/”下,需要使用绝对路径切换到/usr /local ——# cd /usr /local
案例2:快速切换到当前用户的家目录——#cd ~:

4.mkdir—— 创建目录

make directory

  • 格式1:#mkdir 路径(可以是文件夹名称,也可以是完整的包含名称的路径)

eg.在当前路径下创建目录 wenjian1——#mkdir wenjian1(验证:#ls)

(关于ls列出的文件:蓝色表示文件夹,黑色表示文件,绿色文件表示拥有所有权限的文件)

eg.在指定路径下创建目录wenjian2——#mkdir /root/yunwen


  • 格式2:#mkdir -p 路径——用于创建多级目录

直接$ mkdir yunwei/a/b/c/xiaoli 不能创建多级目录,报错No such file or directory
加上-p 没问题,可以用ls验证当前目录下是否有下一级目录
(说明:在命令提示符中,# 代表有 root权限,$ 代表普通用户)

  • 格式3:#mkdir 路径1+空格+路径2 ——一次性创建多个目录
5.touch指令——创建文件
  • 格式1:#touch 文件路径(路径可以是文件名,也可以是带有文件名的完整路径)

eg.在当前路径创建文件Linux.txt——$ touch Linux.txt

  • 格式2:#touch 文件1 文件2——可以一次创建多个文件
6.cp指令——复制

copy:复制文件,文件夹到指定位置

  • 格式:#cp +文档名(可包含路径)+ 目标位置

eg.#cp Linux.txt /home/root1214/yunwei

特别

  • windows中复制文件时不能同时改名,只能后面再重命名。Linux中cp命令是可以复制时同时改名的,但不建议这么做

  • 当使用cp命令进行文件夹多级复制时需要添加选项 -r,否则文件夹将被忽略复制
    (-r的意思是递归复制,recursive递归的,文件夹类型下面可能还有文件夹,此处可以理解为递归)

  • 与上面mkdir命令的创建多级文件夹相区别mkdir是-p,cp是 -r

7.mv指令——移动,重命名

move:移动文档到新的位置(原始文件不在了)

格式:#mv 需要移动的文档 目标位置

eg.使用mv命令来移动一个文件或文件夹(此处移动多级文件夹时可不用加-r)

8.rm指令——移除,删除

remove

格式:#rm 选项 需要移除的文档(可同时删除多个)

选项:

  • -r——删除目录
  • -f ——force强制删除文件,不用回复yes
  • -rf——强制删除目录(递归删除,不用确认)
  • -vf——强制删除,可视化(v-view)

删除一个目录下有公共特性的文档——可以用通配符*
eg.删除都以Linux开头的文件
#rm -f Linux*


9.vim指令

vim是一款文本编辑器

作用:打开文件(文件可以不存在,自动新建)
格式: vim 文件路径

不修改的退出文件的方法:输入:,然后输入q,回车)
修改后保存退出文件的方法:输入:,然后输入wq,回车)
修改后放弃修改退出文件的方法:输入:,然后输入q!,回车)

10.输出重定向

一般命令的输出显示在终端窗口,当需要保存命令结果到指定文件进行后续的分析统计时,需要使用输出重定向技术。

  • ‘>’ 覆盖源文件内容的输出
  • ‘>>’在源文件末尾追加的输出
    (两个>记忆为加加,就是追加)

eg.保存ls -la的执行结果到当前目录下的ls.txt(文件不存在会自动生成)——#ls -la > ls.txt

用vim打开检测 ——#vim ls.txt(vim打开文件时,最后一行会显示文件行数)
文件中输入:set nu可以显示行号


11.cat指令
  • 作用1:直接打开文件

(和vim区别:vim打开文件后会进入文件,需要使用固定方法退出文件)
————vim适合修改编辑文件

(cat是在命令行里直接打开文件,展示一下而已,并没有进入文件,不需要退出)
————cat适合仅查看文件内容

格式:#cat +文件目录


  • 作用2:对文件进行合并(配合输出重定向)

格式:#cat 文件路径1 文件路径2 … 文件路径n > 新文件路径

eg.#cat Linux.txt ls.txt > today.txt

二.进阶指令

1.df指令——查看磁盘空间

格式:#df -h(不加-h没有单位,默认字节,加-h以合适的单位显示)

2.free指令——查看当前内存的使用情况

格式:

free (单位:无,默认字节)

free -m (单位:M)—— 常用

free -g (单位:G)

free -h(单位:自动)
在这里插入图片描述
(swap:缓存空间,当系统真实内存不够用时可以临时使用磁盘空间(外存)来充当内存,但是速度慢)

3.head指令——查看文件的前n行(默认n为10)

格式:#head -n 文件路径

4.tail指令——查看文件的末n行(默认10)

格式1:#tail -n 文件路径 (-1表示最后一行)
格式2:#tail -f 文件路径 —— 查看一个文件的动态变化
(变化内容不能是在命令行外手动添加的,需要启动另一个命令行对该文件操作,可以看到变化)

#tail -f 一般是用于查看系统日志,这个文件经历了哪些操作(类似历史记录)


补充:查看某条指令的操作手册:#man+指令

5.less指令

作用:查看文件
(以较简洁的方式进行输出内容,只显示一页,按下辅助功能键查看更多信息,按q退出)

辅助功能键:

  • 数字加回车:从某行开始展现
  • 空格:一页一页展示
  • 上下方向键:上一行,下一行

格式:#less + 文件路径

6.wc指令——统计

作用:统计文件内容信息
(类似word左下角统计字数什么,行数,单词数,字节数,需要配合管道使用)

格式:

  • #wc 文件路径 ——行数单词数字节数

  • #wc -l 文件路径 ——行数(常用)

  • #wc -w 文件路径——单词数(依照空格来区分识别单词,并不实用)

  • #wc -c 文件路径——字节数

7.date指令——日期

作用:读取和设置时间(一般不用设置,直接同步网络)

  • 格式1:#date
    输出:2021年 12月 14日 星期二 00:21:46 PST
    (PST指太平洋标准时间,CST指中国标准时间)

补充:更改时区——使用timedatectl命令

# timedatectl set-timezone Asia/Shanghai     #设置亚洲上海时区

  • 格式2:#date +%F(或#date “+%Y-%M-%d”)

    输出:2021-12-14

  • 格式3:#date “+%F %T”(或#date “+%Y-%m%d %H:%M:%S”)

    输出:2021-12-14 00:32:42

  • 格式4:获取指定时间间隔前后的时间(用于备份)

    #date -d “-1 day” “+%Y-%m-%d %H:%M:%S” ——前一天的这个时间(day可以改为,month,year)

上面的+号不是连接的意思,是格式中必须有的,并且后面字母的大小写一定要规范,详情可以#date –help


备注:

%F:表示完整的年月日,等同%Y%m%d

%T:表示完整的时分秒,等同%H%M%S

%Y:四位年份

%m:两位月份(带前导0)

%d:两位日期(带前导0)

%H:两位小时(带前导0)

%M:两位分钟(带前导0)

%S:两位秒数(带前导0)

8.cal指令——操作日历

calendar

格式1:#cal——输出当前所在月份的日历(等同于#cal -1)

格式2:#cal -3 ——输出最近三个月的日历(上个月 本月 下个月)

格式3:#cal -y 年份——输出某一年份的日历

9.clear/ctrl+l 指令

作用:清除终端中已经存的命令和结果(信息)

(注意:该命令并没有清除所有信息,只是起到了一个翻页效果)

10.管道

管道的符号:一根竖线“|”

管道的作用:“过滤“,”特殊用法“,”扩展处理“

格式:管道不能单独使用,必须配合前面的其他指令,主要是辅助作用


  • eg1.通过管道查询出根目录下,包含”y”字母的文档名称

# ls / |grep y“,观察这个指令——意思是:从ls列出的信息中筛选出带有y的

斜杠/表示根目录

管道符|作为分界线,前面指令的输出作为后面指令的输入

后面的指令指明了筛选要求,这样就起到了过滤作用


grep :(缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。


  • eg.统计某个目录下的文档的总个数:管道+wc命令

    #ls / | wc -l


Linux_day03

三.高级指令

1.hostname指令

作用:主机名(读取,临时修改)

格式1:#hostname ——输出完整的主机名

格式2:#hostname -f——输出当前主机名中的FQDN(全限定域名-同时带有主机名和域名的名称)

2.id指令

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id)

  • 格式1: #id——指令不指定用户,则默认显示当前用户的id信息
[root1214@localhost ~]$ id

uid=1000(root1214) gid=1000(root1214) 组=1000(root1214) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
  • 格式2:#id 用户——显示指定用户id

验证上述信息:
(通过cat命令来查看用户信息相关的配置文件 passwd和group)

  • 查看用户信息:通过文件/etc/passwd

  • 查看用户组信息:通过文件/etc/group

3.who am i——显示当前登录的用户名

(中间可以不带空格whoami,或者直接who,有一点点区别,瞅瞅)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
(pts是伪终端或虚拟终端)

who:显示当前真正登录系统中的用户(也就是最先登陆是什么名字就显示什么,不会显示su切换的登陆者)
who am i: 同上吧…
whoami: 显示当前正在使用主机的用户的用户名(仅用户名)

作用:一般用于shell脚本中,收集日志(方便查看是哪个用户名做了哪些更改)

4.ps -ef指令

作用:主要是查看服务器当前运行的进程信息

-e:表示列出全部的进程
-f:列出所有的列(显示全字段)
请添加图片描述
UID:用户id
PID:进程id——【最为重要】

PPID:该进程的父进程id(如果一个程序的父级进程找不到,该进程称之为僵尸进程,需要手动结束,kill指令,可以再配合管道筛选)

C:cpu的占用率(单位百分比)

STIME:启动时间

TTY:发起该进程的终端的设备号

(显示问号的,则不是终端发起的)

TIME:进程已运行时间

CMD:该进程名称(或对应的路径)


案列:
比如在日常工作中,我们要查看某个服务的端口号

  • 就可以先使用ps -ef配合管道把这个服务筛选出来,然后获取他的进程号pid
# ps -ef|grep gnome-panel

(如果没有相关的,也至少会匹配到一个,也就是当前这条指令$ ps -ef|grep gnome-panel所产生的进程,可以看到设备终端号为pts/0)
输出结果:
root1214 5373 3104 0 17:46 pts/0 00:00:00 grep –color=auto gnome-panel

  • 再通过其进程号5373,使用命令netstat -tnlp(下方第15条)配合管道查看这个进程,获取其端口信息
# netstat -tnlp| grep 5373
5.top指令

作用:动态展示服务器正在运行进程信息

格式:

​ 进入命令:# top
​ 退出命令:q
请添加图片描述

PID:进程id
USER:进程对应的用户
PR:进程优先级
NI:用户进程空间内改变过优先级的进程占用cpu的百分比(下来再查一下)
VIRT:虚拟内存——申请的
RES:常驻内存——实际使用的
SHR:共享内存——原进程所依赖的其他系统组件所消耗的内存(算在进程的常驻里边了,但实际不是该进程所消耗的)
SHR包含于RES,一定小于RES


计算一个进程实际使用的内存=常驻内存RES – 共享内存SHR


S:表示进程状态,其中S表示sleep,R表示run
%CPU:cpu占用百分比
%MEM:内存占用百分比
TIME+:执行的时间
COMMAND:进程的名称或者路径


此处可以使用的快捷键(运行top时)
M——将内存按照内存MEM从高到低进行降序排序(大写)
P——按照cpu占用情况降序
1——当服务器拥有多个cpu时,使用1来切换是否展示各个cpu的详细信息

6.du -sh指令

作用:查看目录的真实大小
-s:(summaries)只显示汇总的大小
-h:以较高可读性的形式进项显示

格式:#du -sh 路径
(不加路径,显示当前目录的真实大小)

7.find指令——查找文件

参数比较多,用时候查manual

格式:#find 路径 选项 文件名
选项:

  • -name:按照文档名称进行搜索(支持模糊搜索)

  • -type + 类型:按照文档类型搜索
    (f表示文件,d表示文件夹,l表示链接文件)

案例1:使用find来搜索根目录下的文件:httpd.conf ——#find / -name httpd.conf

案例2:搜索ect目录下所有的conf 后缀的文件——$ find /etc -name *.conf

(如果需要统计数量,就加上管道,再加wc -l命令——$ find /etc -name *.conf | wc -l)

案例3:搜索/etc/sane.d/目录下所有的文件——$ find /etc/sane.d/ -type f

(find指令是可以搜出隐藏文件的)

8.service指令

作用:用于控制一些软件服务的启动、停止、重启

语法:#service 服务名 start/stop/restart

9.kill进程

作用:表示杀死进程

格式:
#kill + PID
#killall + 进程名称

kill不带参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。
kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。
TERM(或数字9)表示“无条件终止”;

因此 kill – 9 表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理。


10.ifconfig

作用:查看网卡信息
请添加图片描述

11.reboot指令

作用:重新启动计算机
语法1:#reboot
语法2:#reboot -w(模拟重启,实际不重启——只是在日志文件中记录了开关机信息)

12.shutdown指令

作用:关机
(远程连接时慎用,可能需要物理开机)

语法1:
立即关机#shutdown -h now
定时关机#shotdown -h 15:25 “关机提示信息”

取消关机:

  • ctrl +c 快捷键 可以取消关机指令(CentOS 7以前的版本)
  • 输入 #shutdown -c(从CentOS 7开始)

除了shutdown指令关机,还有以下几个关机命令

  • #init 0
  • #halt
  • #poweroff

13.uptime指令

作用:输出计算机的运行时长

[root@localhost ~]# uptime
13:55:05 up 13 min, 2 users, load average: 0.00, 0.09, 0.16

当前时间 ,运行时长,用户数量,平均负载:最近1分钟,5分钟,15分钟

14.uname指令

作用:获取操作系统相关信息

语法1:#uname——获取当前操作系统类型

语法2:#uname -a——获取完整信息(常用于获取系统内核版本信息)

#uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

当前系统+ 完整主机名 +系统内核版本 +系统发行时间 +GNU计划(开源)

15.netstat -tnlp指令

作用:查看网络的连接状态
语法:#netstat -tnlp

-t:表示只列出tcp协议的连接
-n:表示将ip地址,端口名,以对应数字显示(numerical)
-l:表示过滤出state列(状态)中,状态值为LISTEN(正在监听)的连接
-p:显示对应连接的进程PID和进程名称

请添加图片描述


常用默认端口号

80-apache(web服务器软件)

22-sshd

3306-数据库

16.man指令

manual——手册

作用:展示Linux所有命令的相关信息

语法:#man 命令 (按q退出)


补充:
在命令行中快速清空已输入信息的光标前后内容的快捷键:
前:ctrl + u
后:ctrl + k

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168479.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号