news 2026/9/12 10:22:51

蠢萌的小姐姐都能学会的Linux基本命令,有这份学习秘籍,你还不抓紧时间上车?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蠢萌的小姐姐都能学会的Linux基本命令,有这份学习秘籍,你还不抓紧时间上车?

目录说明

# /bin[重点]:是Binary的缩写,这个目录存放着最经常使用的命令# /sbin[重点]:是Super User的意思,这里存放的是系统管理员使用的系统管理程序# /home[重点]:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般目录名是以用户的账号命名的# /root[重点]:该目录为系统管理员,也称作超级权限者的用户主目录# /lib:系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库# /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。# /etc[重点]:所有的系统管理所需要的配置文件和子目录 my.conf# /usr[重点]:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录# /boot[重点]:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件# /proc[别动]:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息# /srv[别动]: service缩写,该目录存放一些服务启动之后需要提取的数据# /sys[别动]:这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统# /tmp:这个目录是用来存放一些临时文件的# /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储# /media[重点]:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下# /mnt[重点]:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了# /opt:这是给主机额外安装软件所摆放的目录,如安装oracle数据库就可放到该目录下,默认为空。# /usr/local[重点]:这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序# /var[重点]:这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件# /selinux[security-enhanced linux]:SELinux是一种安全子系统,它能控制程序只能访问特定文件总结:1)linux的目录中有且只有一个根目录/2)linux的各个目录存放的内容是规划好,不用乱放文件3)linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件

vi和vim编辑器

# 三种模式:# 1、正常模式:打开文件默认就是一般模式# 2、插入/编辑模式:按下i,I,o,O,a,A,r,R任何字母进入,一般按i即可# 3、命令行模式:正常模式下输入:(冒号)或者/(斜杆)进入,可以读取、存盘、替换、离开vim、显示行号等# 拷贝当前行,按p才粘贴yy# 拷贝当前行向下的5行,按p才粘贴5yy# 删除当前行dd# 删除当前行向下5行5dd# 在文件中查找某个单词,命令行操作,输入n查找下一个,shift + n查找上一个/关键字# 取消搜索高亮:noh# 设置文件的行号:setnu# 取消文件的行号:setnonu# 跳到文件最末行G# 跳到文件首行gg# 跳到文件第几行5[数字]gg# 撤销输入动作u

关机&重启命令

# 立刻进行关机shutdown-h now 或 halt# 1分钟后关机shutdown-h1# 现在重新启动计算机shutdown-r now 或 reboot# 关机或重启时,把内存的数据同步到磁盘sync# 注销用户logout# 切换系统管理员身份su 用户名

用户管理

# 基本语法,默认以用户名为组# 当创建用户成功后,会自动创建和用户名同名的家目录,位于/home# 也可以通过useradd -d 指定新创建用户的家目录useradd[选项]用户名# 添加用户useradd 用户名# 添加用户,指定家目录useradd-d/home/people/xh# 给用户指定或者修改密码passwd 用户名# 删除用户,但保留家目录(推荐)userdel 用户名# 删除用户,但不保留家目录userdel-r 用户名# 查询用户信息 uid=0(root) gid=0(root) 组=0(root)id 用户名# 切换用户,高权限用户切换到低权限用户不需要密码su 用户名 或者 su-用户名# 返回原来的用户exit# 添加用户组groupadd 组名# 删除用户组groupdel 组名# 创建用户,指定组useradd-g 组名 用户名# 修改用户的组usermod-g 组名 用户名# 相关配置文件# /etc/passwd:用户相关信息:用户名:口令:用户id:组id:家目录:shell# /etc/shadow:口令的配置文件# /etc/group:组的配置文件:组名:口令:组id:组内用户列表

运行级别指令

# 运行级别,常用级别(3和5),配置文件/etc/inittab[init:运行级别]:# 0:关机# 1:单用户(找回丢失密码)# 2:多用户无网络服务# 3:多用户有网络服务# 4:系统未实用保留给用户# 5:图形界面# 6:系统重启# 切换运行级别init[012356]# 实例:找回root密码https://blog.csdn.net/cxhblog/article/details/114191501

帮助指令

# man [命令或配置文件](功能描述,获得帮助信息)man ls# help 命令(获得shell内置命令的帮助信息)help cd

文件目录类

# 显示当前目录的绝对路径pwd# 显示当前目录的内容信息ls# 显示当前目录的内容信息,包括隐藏的ls-a# 显示当前目录的内容信息,以列表的方式ls-l# 显示当前目录的内容信息,以列表的方式并且显示大小ls-lh# 查看文件所有者ls-ahl# 切换目录cd 目录路径# 创建目录mkdir 目录名# 创建多级目录mkdir-p/home/animal/dog# 删除文件,提示rm hello.txt# 删除文件,不提示rm-f hello.txt# 删除空目录rmdir/home/animal/dog# 递归删除非空目录,会提示rm-r/home/animal# 递归删除非空目录,不提示rm-rf/home/animal# 创建空文件touch hello.txt# 一次性创建多个空文件touch hello1.txt hello2.txt# 拷贝文件到指定目录cp hello.txt[要拷贝的文件]/home/hello/[要拷贝到的目录]# 递归复制整个目录cp-r hello[要拷贝的目录]/home/bbb[要拷贝到的目录]# 拷贝并重命名文件cp hello.txt hello1.txt# 强制覆盖要复制的文件目录\cp-r hello/bbb/# 移动文件mv hello.txt bbb/# 移动文件,并重命名mv hello.txt hello1.txt# 查看文件内容cat hello.txt# 查看文件内容,显示行号cat-n hello.txt# 查看文件内容,显示行号,分页显示cat-n hello.txt|more# 输出内容到控制台echo hello world# 输出环境变量echo $PATH# 显示文件开头部分内容,默认10行head hello.txt# 显示文件开头部分内容,前5行head-n5hello.txt# 查看文件后面内容,默认后10行tail hello.txt# 查看文件后面内容,后5行tail-n5hello.txt# 实时查看文件后面内容tail-f hello.txt# 建立软链接ln-s/root[要链接到的目录]linkToRoot[链接名目录]# 查看历史指令history# 查看历史指令,显示10个history10# 执行历史指令,第10个!10

more和less查看文件内容

# more相关操作# 空白键(space):向下翻一页# Enter:向下翻一行# q:立刻离开,不再显示文件内容# Ctrl+F:向下滚动一屏# Ctrl+B:返回上一屏# =:显示当前行号# f:输出文件名和当前行号# 实践操作more hello.txt# less相关操作(比more更加强大,效率更高)# 空白键(space):向下翻动一页# pagedown:向下翻动一页# pageup:向上翻动一页# /文字:向下搜索文字# ?文字:向上搜索文字# q:离开less# 实践操作less hello.txt

>输出重定向和>>追加

# 输出内容到文件中,覆盖写ls-l>a.txt# 输出内容到文件中,追加ls-la>>b.txt# 文件1的内容覆盖到文件2cat a.txt>b.txt# echo的内容输出到文件中echo hello>a.txt# 把当前日期写入文件cal>a.txt

时间日期类

# 显示当前日期时间date# 显示当前年份date"+%Y"# 显示当前月份date"+%m"# 显示当前日date"+%d"# 显示当前年月日date"+%Y-%m-%d"# 显示当前年月日时分秒date"+%Y-%m-%d %H:%M:%S"# 设置日期date-s2021-02-2814:58:60# 查看当前日历cal# 显示2020年日历cal2020

搜索查找类

# find指令将从指定目录向下递归的遍历其各个子目录,将满足条件的文件或目录显示在终端# 注意点:指定开始搜索的范围目录,路径必须在表达式之前,例:当前目录/home,不能查找/# 基本语法:find [指定开始搜索的范围目录] [选项]# 按文件名查找文件find/-name hello.txt# 按用户名文件拥有者查找文件find/-user nobody# 按文件大小查找文件,大于3mfind/-size+3M# 按文件大小查找文件,小于3mfind/-size-3M# 按文件大小查找文件,等于3mfind/-size3M# 按文件大小查找文件,大于30kfind/-size+30K# 查找以什么为后缀的文件find/-name*.txt# locate快速查找文件# 创建locate数据库updatedb# 查找文件locate hello.txt# grep指令和管道符号 |# grep过滤查找,管道符 | ,表示将前一个命令的处理结果输出传递给后面的命令处理# 查看文件,过滤文件显示存在数字10cat a.txt|grep10# 查看文件,过滤文件显示存在数字10,显示行号cat a.txt|grep-n10# 查看文件,过滤文件显示存在数字hello,忽略大小写cat a.txt|grep-i hello# 查看文件,过滤文件显示存在数字hello,忽略大小写,显示行号cat a.txt|grep-ni hello

压缩和解压缩

# 压缩文件,压缩完成,文件名作为压缩文件名,并且原文件不保留gzip hello.txt[文件名]得到:hello.txt.gz# 解压文件gunzip hello.txt.gz# 压缩文件zip hello.zip hello.txt# 递归压缩文件目录zip-r home.zip/home# 解压文件到某个目录unzip-d/home/people/home.zip# 打包hello.txt和a.txt两个文件,打包名为hello.tar.gztar-czvf hello.tar.gz hello.txt a.txt# 解包文件到当前目录下tar-zxvf hello.tar.gz# 解包文件到/home/zwj目录下tar-zxvf hello.tar.gz-C zwj/# -c:产生.tar打包文件# -v:显示详细信息# -f:指定压缩后的文件名,指定备份文件# -z:打包同时压缩,处理备份文件# -x:解包.tar文件

组管理和权限管理

# Linux组基本介绍:在linux中的每个用户必须属于一个组,不能独立于组外。每个文件有所有者,所在组,其它组的概念# 1:所有者:文件的创建者,谁创建就是谁# 2:所在组:一般指所有者所在的组,文件可以更改所在者# 3:其它组:除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组# 4:改变用户所在的组# 查看文件所有者ls-ahl# 修改文件所有者chown tom hello.txt# 修改文件所在组chgrp police hello.txt# 改变用户所在组usermod-g police[组名]tom[用户名]# 改变用户登录的初始目录usermod-d/home/police[目录名]tom[用户名]# -rw-r--r--. 1 tom police 0 2月 28 22:33 ok.txt# r[4]:读取,查看,w[2]:写,x[1]:执行,进入目录# 第1个[-]:文件类型:-:普通文件,d:目录,l:软链接,c:字符设备[键盘,鼠标],b:块文件[硬盘]# 第2-4个[rw-]:所有者权限# 第5-7个[r--]:文件所在者的用户的权限# 第8-10个[r--]:文件其它组的用户的权限# 第11个[1]:如果是文件表示硬链接的数,如果是目录表示该目录下子目录个数# 第12个[tom]:文件的所有者用户名# 第13个[police]:文件的所在组# 第14个[0]:文件的大小,文件有内容的话,多加1个隐藏字符,如果是4096代表目录占据的空间# 第15个[28 22:33]:文件最后的修改时间# u:所有者,g:所有组,o:其他人,a:所有人(u,g,o的总和)# 1:chmod u=rwx,g=rx,o=x 文件目录名# 2:chmod o+w 文件目录名# 3:chmod a-x 文件目录名# 给abc.txt文件,所有者读,写,执行权限,给所有组读,执行权限,给其他者读,执行权限chmodu=rwx,g=rx,o=rx abc.txt 或 chmod755abc.txt# 给abc.txt文件的所有者除去执行的权限,增加组写的权限chmod u-x,g+w abc.txt 或 chmod675abc.txt# 给abc.txt文件的所有用户添加读的权限chmod a+r abc.txt# 改变文件的所有者chown cxh[用户名]a[文件目录]# 改变用户的所有者和所有组chowncxh:cxh a# 递归改变文件目录及子文件目录所有者和所有组chown-Rcxh:cxh a

定时任务调度

# 设置个人任务调度crontab-e# 终止任务调度crontab-r# 列出当前有哪些任务调度crontab-l# 重启任务调度service crond restart# 每分钟执行ls -l /etc/目录,>>追加显示到/tmp/to.txt文件中*/1****ls-l/etc/>>/tmp/to.txt# 第一个*:分钟[0-59]# 第二个*:小时[0-23]# 第三个*:月天[1-31]# 第四个*:月[1-12]# 第五个*:星期几[0-7],0和7都代表周日# 特殊符号说明# *:代表任何时间,比如第一个*代表每小时中每分钟都执行一次# ,:代表不连续的时间,比如“0 8,12,14 * * *“代表在每天的8,12,14点0分都执行一次命令# -:代表连续的时间范围,比如“0 5 * * 1-6”代表周一到周六凌晨5点0分执行命令# */n:代表每隔多久执行一次,不如“*/10 * * * *”代表每隔10分钟执行一次命令# 任务案例# 45 22 * * *:每天22点45分执行命令# 0 17 * * 1:每周一下午5点0分执行命令# 0 5 1,15 * *:每月1号和15号凌晨5点0分执行命令# 40 4 * * 1-5:每周一到周五凌晨4点40分执行命令# */10 4 * * *:每天凌晨4点,每隔10分钟执行一次命令# 0 0 1,15 * 1:每周一,1号,15号,凌晨00:00都会执行命令# 每分钟执行/home/mytask.sh脚本文件,脚本文件需要给可执行权限才可调用*/1****/home/mytask.sh

磁盘分区和挂载

# mbr分区:# 1:最多支持四个主分区# 2:系统只能安装在主分区# 3:扩展分区要占一个主分区# 4:MBR最大支持2TB,但拥有最好的兼容性# gtp分区# 1:支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)# 2:最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)# 3:windows7 64位以后支持gtp# Linux分区:# 1:无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,# Linux中每个分区都是用来组成整个文件系统的一部分# 2:Linux采用了一种叫“载入”的处理方法,它的整个系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得# 硬盘# Linux硬盘分IDE硬盘和SCSI硬盘,目前基本是SCSI硬盘# 查看系统的分区和挂载情况,有分区大小lsblk(译读:老师不离开)# 查看系统的分区和挂载情况,详细信息lsblk-f# 虚拟机添加一块硬盘,查看下面链接文章:https://blog.csdn.net/cxhblog/article/details/114277421


磁盘情况查询

# 查询系统整体磁盘使用情况df-lh# 查询指定目录的磁盘占用情况du-ach--max-depth=1/opt# -s:指定目录占用大小汇总# -h:带计量单位# -a:含文件# --max-depth=1:子目录深度# -c:列出明细的同时,增加汇总值# 磁盘情况-工作实用指令# 统计/home文件夹下文件的个数ls-l/home|grep"^-"|wc-l# 统计/home文件夹下目录的个数ls-l/home|grep"^d"|wc-l# 统计/home文件夹下文件的个数,包括子文件里的ls-lR/home|grep"^-"|wc-l# 统计/home文件夹下目录的个数,包括子文件里的ls-lR/home|grep"^d"|wc-l# 以树状显示目录结构,需要安装tree,yum install treetree

网络配置

# 测试主机之间网络连通ping www.baidu.com# 配置固定ip# 编辑配置文件,修改如下图vim/etc/sysconfig/network-scripts/ifcfg-ens33# 重启网络服务,网络依然自动连接说明配置正确service newtwork restart




进程管理

# 基本介绍# 1、在Linux中,每个执行的程序(代码)都称为一个进程,每一个进程都分配一个ID号# 2、每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程# 3、进程分两种方式,前台和后台。# 4、一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。# 显示当前终端的所有进程信息ps-a# 以用户的格式显示进程信息ps-u# 显示后台进程运行的参数ps-x# 结合使用ps-aux 或者 ps-ef# 显示进程信息,过滤进程ps-aux|grep sshd# 获取某服务程序的所有进程号pgrep httpd# System V:展示风格# USER:用户名称# PID:进程号# %CPU:进程占用CPU的百分比# %MEM:进程占用物理内存的百分比# VSZ:进程占用的虚拟内存大小(单位:KB)# RSS:进程占用的物理内存大小(单位:KB)# TTY:终端名称# STAT:进程状态,s-睡眠,r-运行,D-短期等待,Z-僵尸进程,T-被跟踪或者被停止# STARTED:进程的启动时间# TIME:CPU占用总时间# COMMAND:启动进程所用的命令和参数,过长会被截断显示# 查看进程的父进程ps-ef# 查看sshd进程的父进程ps-ef|grep sshd# 杀死进程,根据进程idkill4010# 强制杀死进程,根据进程idkill-94010# 杀死进程,通过进程名称killall gedit# 以树状查看进程pidpstree-p# 以树状查看进程的用户idpstree-u

服务管理

# 查看端口监听情况netstat-lnpt# lsof 列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用lsof-i:80# 开启服务systemctl start 服务名称.service# 查看服务状态信息systemctl status rabbitmq-server[服务名称]# 查看已开放的端口(默认不开放任何端口)firewall-cmd--list-ports 或 firewall-cmd--list-all# 开放端口firewall-cmd--zone=public(作用域)--add-port=80/tcp(端口和访问类型)--permanent(永久生效)# 删除开放端口firewall-cmd--zone=public--remove-port=80/tcp--permanent# 检查防火墙状态systemctl status firewalld# 查看防火墙状态firewall-cmd--state# 开启防火墙systemctl start firewalld.service# 重启防火墙firewall-cmd--reload 或 systemctl reload firewalld.service# 关闭防火墙systemctl stop firewalld.service# 禁止防火墙开机启动systemctl disable firewalld.service# 测试端口是否开放成功,cmd命令下,需要安装telnet命令telnet192.168.178.222# 查看开机自启服务setup 或者 ls-l/etc/init.d/# 查看各个运行级别下,服务的自启动状态chkconfig--list# 查看各个运行级别下,指定服务的自启动状态chkconfig network--list# 修改某个运行级别下,服务的自启动状态chkconfig--level5networkon/off# 修改所有运行级别下,服务的自启动状态chkconfig networkon/off

进程监控

# 动态监控进程# -d:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令# -i:使top不显示任何闲置或僵死进程# -p:指定进程ID监控进程的姿态# 交互操作说明# P:以CPU使用率排序,默认# M:以内存的使用率排序# N:以PID排序# q:退出top# 查看监控进程,按CPU使用率排序top 输入P# 监视特定用户top 命令下输入u,再输入用户名# 终止指定进程top 输入k,输入进程ID# 指定系统更新时间,10秒top-d10# 监控网络状态# -an:按一定顺序排列输出# -p:显示哪个进程在调用# 查看系统所有的网络服务netstat-anp|more

rpm和yum

# RPM:RedHat Package Manager(ReaHat软件包管理工具)# 查询所有安装的rpm包rpm-qa# 查询指定名称安装的rpm包rpm-qa|grep firefox# 查询软件是否安装rpm-q firefox# 查询安装软件包信息rpm-qi firefox# 查询安装软件包的文件在哪里rpm-ql firefox# 查询文件所属的软件包rpm-qf/etc/passwd# 删除安装的软件包rpm-e firefox# 强制删除安装的软件包(尽量不用)rpm-e--nodeps firefox# 安装rpm包,需要按下面步骤找安装包rpm-ivh firefox# i=install 安装# v=verbose 提示# h=hash 进度条# 虚拟机 -> 设置 -> CD/DVD -> 浏览 -> CentOS-7-x86_64-DVD-2003.iso -> cd /media/Centos../ -> cp 包 /opt/# yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性,并且一次安装所有依赖的软件包(需要联网)# 查看yum服务器是否有需要安装的软件yum list|grep firefox# 安装yum包yum install firefox# 卸载yum包yum uninstall firefox
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 10:21:46

.NET多语言解决方案:Maomi.In实现动态本地化

1. 项目概述:.NET多语言解决方案的现状与挑战在全球化应用开发中,多语言支持已成为基础需求。传统.NET项目通常采用资源文件(.resx)实现本地化,但这种方式存在明显的局限性:资源文件需要预编译、难以动态更新、缺乏统一的翻译管理…

作者头像 李华
网站建设 2026/9/12 10:21:28

二值化最佳阈值选取方法以及matlab实现

文章目录前言一、真彩色图像转换为灰值图像1.转换公式2.转换过程二、最佳阈值选取方法以及matlab实现1.迭代法2.双峰法3.最大类间方差法4.最大熵阈值法前言 我们利用arcGIS实现对栅格数据的自动批量矢量化时,首先就得需要对栅格图进行二值化处理,即先将…

作者头像 李华
网站建设 2026/9/12 10:17:57

vector autosar RTM使用与集成

目录关键词平台说明技术背景技术难点(关注点)abbreviation整体架构#流程实现过程一、RTM introduction二、Architecture Overview三、RTM集成小结关键词 嵌入式、C语言、autosar、vector、cpuload 平台说明 项目ValueOSautosar OS芯片厂商TI,编程语言…

作者头像 李华
网站建设 2026/9/12 10:15:42

Python进阶:突破初学者瓶颈的四大维度与实战技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华