点击上方 好好学java ,选择 星标 公众号

重磅资讯、干货,第一时间送达
今日推荐:从入门到拿大厂offer,必须看的数据结构与算法书籍推荐,不好不推荐!个人原创+1博客:点击前往,查看更多
作者:吴小风
链接:https://segmentfault.com/a/1190000022560834

前言

Linux基础命令整理,这里不包含shell部分知识

基础命令

shell(命令解释器)自带的命令称为内部命令,其它的是外部命令 内部命令使用help帮助:help cd外部命令使用help帮助:ls --helptype命令:用于区分是内部命令还是外部命令:

#type ls
ls is aliased to `ls --color=auto' #外部命令
#type cd
cd is a shell builtin #内部命令

pwd命令:显示当前目录

ls命令:查看目录和文件名称

ls -l 查看目录各个字段含义

第一字段:首字母代表的是文件类型 ,其中"-"为普通文件、"d"为目录文件、"c"为字符设备文件、"b"为块设备文件、"p"为管道文件、"l"为链接文件、"s"为socket文件。“rwx”分别代表拥有读、写和执行权限,"-代表无对应权限。三个"rwx"依次代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。

第二字段:文件硬连接数量

第三字段:文件拥有者

第四字段:文件拥有者所在组

第五字段:文件大小(以字节为单位)

第六字段:文件最后更改时间

第七字段:文件名(若为链接文件则追加显示其链接的原文件的路径)

ls命令其它参数含义:

-a显示隐藏文件(.开头的文件)

-r逆序排序 -t按照时间顺序显示

-R递归显示ls -lartR : 按照时间顺序倒序显示所有文件及其文件夹的文件

cd命令:更改当前的工作目录

cd /path/... 绝对路径

cd ./path/... 相对路径(./可以省略)

cd ../path/... 相对路径

mkdir命令:建立目录mkdir -p 递归目录:递归创建目录

rmdir命令:删除目录

rmdir a/b/c/d/e/ #删除空目录

rm -r a/b/c/d/ #递归删除目录,但是系统会做多次询问

rm -rf a/b/c/d/ #删除目录,不做任何询问

cp命令:复制文件和目录 -r 复制目录 -p 保留用户、权限、时间等文件属性

mv命令:移动文件和重命名

mv *.log 目标目录

通配符:*匹配任何字符串 ?匹配一个字符串 [xyz]任何一个字符串 [a-z]匹配一个范围

cat命令:文本内容显示到终端

head命令:查看文件开头

head -3 文件名称 #显示文件开头3行

tail命令:查看文件末尾

tail -3 文件名称 #显示文件末尾3行

tail常用参数-f,文件内容更新后,同步显示更新的文件信息

tail -f 文件名称

wc命令:统计文件内容信息

wc 文件名称

压缩和解压缩

tar打包命令(只有打包功能,并不具备压缩功能)

压缩命令是gzip和bzip2,bzip2压缩的文件更小,但是速度比较慢

-c 打包

-x解包

-f指定操作类型为文件

tar cf ./etc-backup.tar /etc
tar czf ./etc-backup.tar.gz /etc
tar cjf ./etc-backup.tar.bz2 /etctar xf ./etc-backup.tar
tar xzf ./etc-backup.tar.gz
tar xjf ./etc-backup.tar.bz2

vi命令

vi命令的三种模式

命令模式:命令模式是vim打开文件后默认进入的模式,可以进行文件的快速定位,文件的处理操作

插入模式:编辑文件

行模式:文件的保存退出

命令模式操作

输入i键:光标当前位置输入

输入I键:光标当前行开头位置输入

输入a键:光标当前下个字符位置输入

输入A键:光标当前行末尾位置输入

输入o键:光标当前行下一行新建空行位置输入

输入O键:光标当前行上一行新建空行位置输入

hjkl:方向键盘,上右下左移动光标,注意终端的上下左右键有可能会乱码 yy:复制当前行

p:粘贴复制的内容

3yy:复制当前行开头的连续3行

y光标当前位置复制到光标当前行末尾:剪切当前行:剪切光标当前位置至本行末尾

u:撤销键

ctrl+r:重做键盘

G:光标快速切换到哪一行。例如 :11G 光标会切换到11行

^:光标快速切换到当前行行首

$:光标快速切换到当前行末尾

末行模式操作:

:w 保存

:q 退出编辑

:wq 保存并且退出编辑

:q! 不保存退出

/要查找的内容:全局查找内容,n查找的内容下一次位置,N查找的内容上一次位置

:s/原来的内容/要替换的内容:只在当前行内容替换生效

:%s/原来的内容/要替换的内容/g:所有内容都替换生效 :11,15s/原来的内容/要替换的内容

:11,15行内容替换生效

:set nu 设置显示行号

:set nonu 设置不显示行号

配置/etc/virc设置默认使用vi命令就显示行号的办法:

1、vi /etc/virc

2、在文件最后一行添加:set nu 并且保存退出

用户管理和组管理

useradd命令:新建用户

useradd 用户名

userdel命令:删除用户

userdel 用户名 用户所在的家目录不会被删除

userdel -r 用户名 用户相关的所有配置都会被删除

passwd命令:修改用户密码

passwd 用户名

usermod命令:修改用户属性

/etc/passwd文件:查看用户文件

tail /etc/passwd

/etc/shadow文件:查看用户密码

tail /etc/shadow

groupadd命令:添加用户组

groupadd 用户组

groupdel命令:删除用户组

groupdel 用户组

用户切换su 用户名 切换用户,但是用户所在环境不变,即pwd路径不会变化

su - 用户名 切换用户,同时会切换到用户家目录,即/home/用户名

sudo命令:普通用户需要执行root用户权限的解决方案

用户和用户组配置文件介绍/etc/passwd文件

/etc/shadow

1、账户名称

2、加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。

/etc/group

文件类型ls -l查看文件类型 -普通字符 d目录文件 b块特殊文件 c字符特殊文件 l符号链接 f命名管道 s套接字文件

文件权限表示法r读(数字4)、w写(数字2)、x执行(数字1)

目录权限表示法x进入目录 rx显示目录内的文件名 wx修改目录内的文件名

chmod命令:修改文件权限 用字符的方式添加和修改权限 u:修改用户权限 g:修改用户组权限 o:修改其它用户权限 +:添加权限 -:减少权限 =:设置权限

chmod u+r aaa.log #给aaa.log文件的所属用户添加读的权限

用数字的方式添加权限

chmod 666 aaa.log #给aaa.log文件设置读写权限 需要注意的是不过root用户的权限是什么都不会受到影响

chown命令:更改属主,属组

chown 用户名 文件名chown 用户名:组名 文件名

网络配置命令

配置ip地址eth0表示第一块网卡,网卡的名称还可能是eno1(板载网卡)、ens33(PEC-E网卡)、enp0s3(无线PEC-E网卡)

ifconfig 接口 ip地址 [netmask 子网掩码] #配置IP地址

ifup 接口 #开启网卡

ifdown 接口 #关闭网卡

添加网关

route add default gw 网关ip

route add -host 指定ip gw 网关ip

route add -net 网段 netmask 子网掩码 gw

网关ip 案例:route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.1.1.1

检查网络

ping命令 #查看网络是否通

traceroute命令 #网络不好的时候分析网络哪个部分出现问题

mt命令r #网络不好的时候分析网络哪个部分出现问题

nslookup命令 根据域名解析获取ip

网络没问题后分析服务

telnet 域名 端口(端口关闭Connection refused和端口开启Connected to ...)

tcpdump命令 #抓取网卡的传输数据(即抓包的作用)

netstat命令 #查看本地网络服务

hostname命令 #查看和修改主机名称

hostname 新的主机名(注意修改/etc/hosts文件配置127.0.0.1 主机名)

配置网卡信息

网卡文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes 开机自启动配置

BOOTPROTO=dhcp 动态获取ip地址

软件包管理

包管理器是方便软件安装、卸载、解决软件依赖关系的重要工具 centos、Redhat使用yum包管理器,软件安装包格式rpm debian、ubuntu使用apt包管理器,软件安装包格式为deb

rpm软件包和命令

rpm软件包格式:

-q 查询软件包

rpm -q 安装包名称(不需要全名称) #查询单个软件包

rpm -qa #查询所有安装包

-i 安装软件包

rpm -i 软件包的全名称

-e 卸载软件包

rpm -e 安装包名称(不需要全名称)

yum安装软件包

rpm安装软件包的时候经常会出现依赖包找不到的情况,需要手动解决依赖的安装包,比较麻烦,这个时候使用yum安装更加合适,它能自动解决依赖的软件包阿里云rpm镜像网址和使用yum常用参数yum install 软件包名称yum remove 软件包名称yum list 查看安装的软件包yum update 软件包名称

源代码安装软件

有的时候我们需要安装软件的最新版本,这个时候yum库可能没有最新的,就需要手动编译软件源代码安装软件,并且需要自己去解决编译源码时各种各样的依赖

第一步:./configure --prefix = /usr/local/软件名称

第二步:make (有的时候看到gmake -j2,gmake指的是跨平台的方式安装,-j2指的是用连个cpu来进行编译,加快编译速度)

第三步:make install (安装软件到--prefix指定目录,好处是删除软件的时候删除整个包就可以,否则还需要到/usr/bin等各个目录下删除一堆文件)

进程管理

查看命令

ps -ef #查看进程

pstree #查看进程树

top命令:top下按1可以查看各块cpu(多核情况)的资源使用情况;

top -p 进程id #单独查看进程的资源使用情况

调整进程优先级nice范围从-20到19,值越小优先级越高,抢占资源就越多

nice -n 10 脚本名称renice重新设置已经运行的程序优先级

renice -n 15 进程id

进程作业控制&符号,让进程在后台运行 jobs 查看后台运行的进程 根据jobs第一列的结果fg [序号],能够将后台进程移到前台

kill命令

kill -l #列出进程相关的所有信号类型

ctrl + c #通知前台进程终止进程

kill -9 进程id #立即结束进程

nohup与&符号配合使进程在退出终端后能够继续运行守护进程指的是系统开机自启动的相关进程,可以通过/proc/进程id/目录查看进程运行详细信息,通过/var/log目录下的日志文件查看更多的进程运行信息,messages系统日志信息,secure日志信息,cron定时任务信息 screen可以使进程在断开网络的情况下,恢复后依然能够继续执行 进程管理工具service(配置文件路径/etc/init.d)和systemctl(service的进化版)

内存和磁盘管理

top命令查看内存剩余的时候要看free内存,不能看buffers,因为有些程序比如jar程序会占用很大内存作为缓存,可以通过命令释放掉这部分缓存;当程序开始使用Swap的时候就得考虑内存是否足够的问题,当内存不足的时候系统会随机杀掉占用内存大的进程,导致不可控;

free命令free -m #使用M作为单位查看内存,注意如果使用free -g查看内存会偏小,系统会把不足的g内存显示的时候删除掉

查看磁盘查询系统整体磁盘使用情况

df -h查询指定目录的磁盘占用情况

du -h /目录 #默认为当前目录 -s 指定目录占用大小汇总 -h 带计量单位 -a 含文件 --max-depth=1 子目录深度 -c 列出明细的同时,增加汇总值

增加一块硬盘步骤:

1、添加硬盘

2、分区fdisk:fdisk /dev/sdb (假设新增的磁盘名称为sdb)

3、格式化mkfs:mkfs -t ext4 /dev/sdb1

4、挂载目录:先创建一个/newdisk挂在目录 , 挂载mount /dev/sdb1 /newdisk

5、设置可以永久挂载:修改/etc/fstab文件

最后,再附上我历时三个月总结的 Java 面试 + Java 后端技术学习指南,这是本人这几年及春招的总结,目前,已经拿到了腾讯等大厂offer,拿去不谢,github 地址:https://github.com/OUYANGSIHAI/JavaInterview

这么辛苦总结,给个star好不好。 点击阅读原文,直达

日常工作必备之 linux 常用命令分类归纳相关推荐

  1. 【linux】服务器运维必备之linux常用命令合集

    目录 1  常用系统查看命令:磁盘/内存/CPU 2  常用操作命令 3  系统/硬件时间操作 4  文件编辑器 5  防火墙 6  网卡 7  root用户远程ssh登录 1  常用系统查看命令:磁 ...

  2. linux搜索文件为1kb,Linux常用命令

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! 首先,先造一点数据 mkdir -p ~/test/cooltouch ~/test/cool/test{1.. ...

  3. Linux创建文件的五种方法,Linux常用命令 - 五种创建文件命令详解

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! 创建文件,你知道有哪几个命令 ?(写出至少两种方式) 首先,touch 创建一个文件 touch yyTest. ...

  4. Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用。

    Linux Manual Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用. 截止目前,含有 65+ 命令. 注:这里只列出常用命令, 如果想要更系统的可能需要翻阅官方手册. 目 ...

  5. linux常用命令整理分类

    linux常用命令整理分类 快捷入口 命令帮助指令 开机关机指令 linux 文件权限 linux 文件操作 linux 文件内容查阅 指令和文件的搜索 文件系统 压缩文件 Shell script ...

  6. linux常用命令(2)常用系统工作命令

    linux常用命令(2)常用系统工作命令 echo命令 作用:在终端输出字符串或变量提取后的值 格式:echo[字符串|$变量] 示例: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直 ...

  7. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用命令汇总①(超全面!超详细!)收藏这一篇就够了! Linux命令基础 Shell Linux命令分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获取命令帮助的方法 ...

  8. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令

    文章目录 1.Ubuntu操作入门 1.1 Ubuntu下打开终端 1.1.1 用搜索框打开终端 1.1.2 使用右键打开终端 1.1.3 快捷键打开终端 1.1.4 调节终端的字体大小及颜色 1.2 ...

  9. linux常用命令_Linux常用命令全称

    从事IT行业的很多人都会使用Linux常用命令,但是知道这些常用命令全称的人并不多,让我们来看看这些常用命令对应的全称吧! 必备Linux命令和C语言基础_C语言_嵌入式开发工程师-创客学院​www. ...

最新文章

  1. mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法
  2. 海思3515,交叉编译opencv2.4.9
  3. 零基础是学java还是python-零基础学编程java和python哪个好
  4. Linux运维工程师面试题第二套
  5. MediaWiki使用指南
  6. 【XML DOM】解析XML Dom
  7. MySQL-04:数据内容操作-增删改查-基本命令笔记
  8. eclipse中添加svn插件
  9. juyter显示决策树图形_关于决策树可视化的treePlotter(学习笔记)
  10. [再寄小读者之数学篇](2014-05-27 矩阵的迹与 Jacobian)
  11. Python3—元组
  12. java 如何将异常_java中的异常处理
  13. ATT的汇编格式X86内联汇编
  14. 华硕笔记本电池0%充不进电_华硕笔记本电池0%充不进电
  15. 空白脂质体冻干粉制备以及荧光素修饰空白脂质体的应用
  16. Opensea到底是怎么交易NFT的
  17. mysql doesn t exist_Mysql的“Table 'mysql.servers' doesn't exist”的解决方法
  18. 请问想考软考,零基础的话,哪个证书最好考呢
  19. End-to-end Audio-visual Speech Recognition with Conformers
  20. office word 2010 设置标题,样式,编号

热门文章

  1. 有关STM32外设配置的几个常见问题
  2. V3S中默认时区设置(笔记)
  3. 通俗理解LDA主题模型
  4. c++新特性11 (10)shared_ptr一”概述“
  5. TCP/IP总结(3)数据包
  6. 波卡链Substrate (3)SRML框架
  7. C++ Primer 5th笔记(chap 19 特殊工具与技术)嵌套类
  8. 《研磨设计模式》chap12 观察者模式observer(1)模式简介
  9. [密码学] 强力攻击
  10. ASLR in optee