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)
blank

相关推荐

  • 微软校招试题

    把微软的这个笔试题贴出来,纯粹是为了方便大家学习交流,相信微软不会那么小气来追究我的责任吧。确实觉得微软出的这些题都不错,虽然只有20道选择,但是考察的面很全,数据结构,网络,算法,操作系统,概率等等

    2021年12月25日
  • 千百撸

    千百撸千百撸(黄网)

  • SpringCloud2.0

    SpringCloud2.0

  • 带你简单了解音频放大电路

    带你简单了解音频放大电路音频放大电路简介能够为负载提供足够大的功率放大倍数的电路称之为功率放大电路,简称功放。音频功率放大器的基本功能是把前级送来的声频信号不失真地加以放大,输出足够的功率去驱动负载(扬声器)发出优美的声音。在音频电路中,往往要求放大电路的输出级能输出足够大的功率去驱动扬声器等负载。音频放大电路在各种音频设备上被广泛使用。因此放大器一般包括前置放大和功率放大两部分,前者以放大信号振幅为目的,因而又称电压…

  • ❤️学习linux 两年多沉淀下来的linux 命令大全⭐建议收藏⭐[通俗易懂]

    ❤️学习linux 两年多沉淀下来的linux 命令大全⭐建议收藏⭐[通俗易懂]文章目录linux系统命令总结大全关于作者**作者介绍**0.IP地址相关命令0.1ifconfig命令—显示网络设备信息02.ip命令—显示与操作路由03.dhclient命令—动态获取或释放IP地址04.nmtui—界面修改网卡地址信息05.nmcli命令—设置ip地址1.文件目录命令1.1ls命令–显示目录下的内容1.2cd命令—切换目录命令1.3cp命令—复制文件或目录1.4mkdir—创建目录1.5rmdir

  • Git clone远程仓库

    Git clone远程仓库

    2021年10月29日

发表回复

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

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