首页 > 系统相关 >Linux的基础

Linux的基础

时间:2024-03-16 21:04:01浏览次数:18  
标签:文件 基础 用户 模式 命令 文件夹 Linux parameter

linux的基础命令

linux命令的基本形式:command 【-options】【parameter】

command:命令

command:参数(可选,非必填)

options:选项(可选,非必填)


Ls:以平铺的形式列出当前目录下的所有内容。

ls 【-a,-l,-h】【parameter】(可选,非必填)。

-a:表示all,即列出全部文件(包含隐藏的文件/文件夹)。

-l:以列表(竖向排列)的形式展示内容,并展示更多信息(权限,所属用户和用户组,大小,时间)。

-h:以易于阅读的形式列出文件大小(要和-l搭配使用)。


pwd:查看当前的工作目录。(print work directory,没有选项和参数直接使用)。


cd:切换工作目录(change directory)。

cd 【linux路径】(只有参数没有选项,不写参数代表回到home目录)。


mkdir:创建新的目录(mark directory)。

mkdir 【-p】【parameter】(参数必填,表示linux的路径)。

-p:自动创建不存在的父目录,适用于创建连续多层级的目录。


touch:创建文件。

touch 【parameter】(参数必填,表示linux的路径)。


cat:查看文件内容。

cat 【parameter】(参数必填,表示要查看的文件路径)。


more:查看文件内容。

more 【parameter】(参数必填,表示要查看的文件路径)。

补充:

  1. cat是直接将内容全部显示出来。
  2. more支持分页,如果文件内容过多可以一页页的展示。
  3. 通过可以退出查看。使用空格键可以翻页。

cp:复制文件/文件夹(copy)。

cp 【-r】【parameter1】【parameter2】(参数1表示被复制的文件/文件夹,参数2表示要复制去的地方)。

-r:可选,用于复制文件夹使用表示递归。


mv:移动文件/文件夹(move)。

mv 【parameter1】【parameter2】(参数1表示被移动的文件/文件夹,参数2表示要移动去的地方)。

补充:如果要移动去的地方不存在则对被移动的文件/文件夹改名。


rm:删除文件/文件夹(remove)。

rm 【-r,-f】【parameter1,parameter2,parameter3......parameterN】(参数1,2,3......N表示要删除的文件/文件夹路径,用空格隔开)。

-r:用于删除文件夹。

-f:表示force,强制删除(不会弹出提示确认信息)。

补充:

  1. rm命令支持通配符*用来做模糊匹配。
  2. test*匹配任何以test开头的内容。
  3. *test匹配任何以test结尾的内容。
  4. *test*匹配任何包含test的内容。
  5. rm是一个危险的命令特别是在root(超级管理员)用户的时候,请谨慎使用。
  6. rm -f/或rm -f/*在root下相当于windows上执行C盘格式化。

which:查看命令的程序文件所在位置。

which 【parameter】 (参数表示要查找的命令)。


find:查找指定文件。

find 【parameter】 -name "被查找文件名"(按文件名查找,参数表示起始路径)。

find 【parameter】 -size +/- n kMG(按文件大小查找,参数表示起始路径,+,-表示大于或小于,n表示数字,kMG表示单位)。

补充:

  1. find命令支持通配符*用来做模糊查找。
  2. test*匹配任何以test开头的内容。
  3. *test匹配任何以test结尾的内容。
  4. *test*匹配任何包含test的内容。
  5. k(小写)表示kb,M表示MB,G表示GB。

grep:通过关键字过滤文件行。

grep 【-n】 【parameter1】【parameter2】(参数1表示关键字必填,参数2表示文件路径必填)。

-n:可选表示在结果种显示匹配的行的行号。

补充:

  1. 过滤的关键字带有空格或其他特殊符号时,建议使用""将关键字包围起来。
  2. 过滤的文件路径可作为内容输入端口。

wc:数量统计 (文件的行数,单词数量等)。

wc 【-c,-m,-l,-w】 【parameter】(参数表示文件路径)。

-c:统计bytes数量。

-m:统计字符数量。

-l:统计行数。

-w:统计单词数量。

补充:参数文件路径可作为内容输入端口。


echo:在命令行内指定输出内容。

echo 【parameter】(要输出的内容,复杂内容可用“”包围)。


tail:查看文件的尾部内容,跟踪文件的最新更改。

tail 【-f,-num】 【parameter】(表示被跟踪的文件路径)。

-f:持续跟踪。

-num:查看尾部多少行,不填默认10行。


su:账户切换(switch user)。

su 【-】【parameter】(用户名)。

-:是否在切换用户后加载环境变量(建议带上)。

补充:

  1. 切换用户后可以通过exit返回上一个用户,也可以通过快捷键ctrl+d。
  2. 使用普通用户切换到其他用户时需要输入密码。
  3. 使用root用户切换到其他用户时不需要输入密码。  

sudo:为普通的命令授权,临时以root身份执行。

sudo 【parameter】(其他命令)。

补充:并不是所有用户都可以使用sudo,需要为普通用户配置sudo认证。


用户组管理:

  1. 创建用户组:groupadd 【parameter】(用户组名)。
  2. 删除用户组:groupdel 【parameter】(用户组名)。

用户管理:

创建用户:useradd 【-g,-d】【parameter】(用户名)。

-g:指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。

-d:指定用户H0ME路径,不指定,H0ME目录默认在:/home/用户名。


删除用户:userdel 【-r】【parameter】(用户名)。

-r:删除用户的home目录,不使用-r删除用户时home目录保留。


查看用户所属组:id 【parameter】(用户名)。


修改用户所属组:usermode -aG 【parameter】【parameter】(用户组,用户名,将指定用户加入指定用户组)。


getent:查看当前系统中有哪些用户/用户组。

getent password/group

补充:

  1. 用户:用户名,密码(x),用户ID,组ID,描述信息(无用),HOME目录,执行终端(默认bash)。
  2. 用户组:组名称,组认证(显示为x),组id。

chmod:修改文件,文件夹的权限信息。

chomd 【-R】 权限 文件/文件夹。

-R:对文件夹内的全部内容应用此操作。

补充:只有文件/文件夹的所属用户或root用户可以修改。


chown:修改文件/文件夹的所属用户和用户组。

chown 【-R】 用户:用户组 文件/文件夹

-R:对文件夹内的全部内容应用此操作。

补充:普通用户无法修改所属为其他用户或组,只有root用户可以修改。


history:查看历史输入过的命令。

可以通过ctrl+r输入内容去匹配历史命令(回车键可以直接执行,键盘左右键可以得到此命令)。


yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

yum 【-y】 【install | remove l search 】 软件名称。

-y:自动确认,无需手动确认安装或卸载过程。

install:安装。

remove:卸载。

search:搜索。

补充:yum命令需要root权限,命令需要联网。


systemctl:管理系统软件(内置或第三方)的命令。

systemctl start | stop | status l enable l disable 服务名。

start:启动。

stop:关闭。

status:查看状态。

enable:开启开机自启。

disable:关闭开机自启。


In:在系统中创建软链接,可以将文件、文件夹链接到其它位置。

ln 【-s】 【parameter1】 【parameter2】(被链接的文件或文件夹,要链接去的目的地)。

-s:创建软连接。


data:查看系统时间。

data 【-d】 【+格式化字符串】。

data 【-d】 【”加减数字 x“】【+格式化字符串】。

-d:按照给定的字符串显示日期,一般用于日期计算。

x:year年,Month月,day天,hour小时,Minute分钟,second秒。

补充:通过特定的字符串标记,来控制显示的日期格式。

  1. %Y:年。
  2. %y:年份后两位数字 。
  3. %m:月份。
  4. %d:日。
  5. %H:小时。
  6. %M:分钟。
  7. %S:秒。
  8. %s:自1970-01-01 00:00:00UTC到现在的秒数。

ping:指定的网络服务器是否是可联通状态。

ping 【-c num】 ip或主机名。

-c:检查的次数,不使用-c选项,将无限次数持续检查参数。


wget:非交互式的文件下载,可以在命令行内下载网络文件。

wget 【-b】 url(下载链接)。

-b:可选,后台下载,会将日志写入到当前工作目录的wget-log文件。


curl:发送http网络请求,可用于:下载文件、获取信息等。

curl 【-o】url(要发起请求的网络地址)。

-o:用于下载文件,当url是下载链接时,可以使用此选项保存文件。


ps:查看进程。

ps 【-e,-f】。

-e:显示出全部的进程。

-f:以完全格式化的形式展示信息(展示全部信息)。

补充:从左到右分别是

  1. UID:进程所属的用户ID。
  2. PID:进程的进程号口。
  3. PPID:进程的父ID(启动此进程的其它进程)。
  4. C:此进程的CPU占用率(百分比)。
  5. STIME:进程的启动时间。
  6. TTY:启动此进程的终端序号。
  7. TIME:进程占用CPU的时间。
  8. CMD:进程对应的名称或启动路径或启动命令。

kill:关闭进程。

kill  【-9】【parameter】(进程id)。

-9:强制关闭进程。


tar:压缩,解压缩。

tar【-c,-v,-x,-f,-z,-C】 参数1, 参数2,..,...,参致N。

-c:创建压缩文件,用于压缩模式。

-v:显示压缩、解压过程,用于查看进度。

-x:解压模式。

-f:要创建的文件,或要解压的文件。

-z:gzip模式,不使用-z就是普通的tarball格式。

-C:选择解压的目的地,用于解压模式。

补充:

  1. -f选项,必须在选项组合体的最后一位。
  2. -z选项,建议在开头位置。
  3. -C选项单独使用,和解压所需的其它参数分开。

zip:压缩文件。

zip 【-r,-q,-d,-u,-f,-m,-e,-z】 参数1, 参数2,..,...,参致N。

-r:递归地将一个目录及其所有子目录和文件压缩到ZIP文件中。

-q:在压缩文件时启用静默模式,即不显示压缩过程的详细信息。

-d:从现有的ZIP文件中删除指定的文件或目录。

-u:用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中。

-f:用于刷新(更新)现有ZIP文件中的指定文件。

-m:用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。

-e:用于对ZIP压缩文件进行加密。

-z:为压缩文件添加注释。

补充:

  1. -f:只更新已存在于ZIP文件中的文件,不会添加新文件。
  2. -u:可以添加新文件并更新已存在的文件。

unzip:解压文件。

unzip 【-d】 被解压的zip压缩包文件。

-d:指定要去解压的位置。

-c:将解压缩的结果。 

-l:显示压缩文件内所包含的文件。

-p:将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t:检查压缩文件是否正确。

-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。

-v:执行是时显示详细的信息。

-z:仅显示压缩文件的备注文字。

-a:对文本文件进行必要的字符转换。

-b:不要对文本文件进行字符转换。

-C:压缩文件中的文件名称区分大小写。

-j:不处理压缩文件中原有的目录路径。

-L:将压缩文件中的全部文件名改为小写。

-M:将输出结果送到more程序处理。

-n:解压缩时不要覆盖原有的文件。

-o:不必先询问用户,unzip执行后覆盖原有文件。

-P:使用zip的密码选项。

-q:执行时不显示任何信息。

-s:将文件名中的空白字符转换为底线字符。

-V:保留VMS的文件版本信息。

-X:解压缩时同时回存文件原来的UID/GID。


linux基础

linux目录结构

linux的目录结构是一个树形结构,没有磁盘的概念,只有一个根目录/,所有文件都在她下面。


linux路径的描述方式

在linux系统中,路径之间的层级关系,使用:/来表示。

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头。

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。

特殊路径符号:

  1. .表示当前目录。
  2. ..表示上一级目录。
  3. ~表示home目录。

管道符:|

将管道符左边命令的结果,作为右边命令的输入。


重定向符:>和>>

>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中。

>>:将左侧命令的结果,追加写入到符号右侧指定的文件中。


vi/vim编辑器

vi/vim是visual interface的简称,是linux中最经典的文本编辑器。

vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性。

编辑器的三种工作模式:

  1. 命令模式(command mode):命令模式下所敲得按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下不能自由进行文本编辑。
  2. 输入模式(insert mode):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
  3. 底线模式(last line mode ):以开始,通常用于文件的保存、退出。

命令模式:

通过vi/vim编辑器编辑文件。

vi/vim 文件路径。

如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。

如果文件路径表示的文件存在,那么此命令用于编辑已有文件。

快捷键:

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I在当前行的开头进入输入模式
命令模式A在当前行的结尾进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
命令模式esc任何情况下输入都能回到命令模式
命令模式键盘上,键盘k向上移动光标
命令模式键盘下,键盘j向下移动光标
命令模式键盘左,键盘h向左移动光标
命令模式键盘右,键盘l向右移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup(PgUp)向上翻页
命令模式pangedown(PgDn)向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行 
命令模式nyyn是数字,表示复制当前行和下面的n行
命令模式p粘贴复制的内容
命令模式u撤销修改
命令模式ctrl+r反向撤销修改
命令模式gg跳到首行
命令模式G跳到尾行
命令模式dG从当前行开始向下全部删除
命令模式dgg从当前行开始向上全部删除
命令模式d$从当前光标开始删除到本行的结尾
命令模式d0从当前光标开始删除到本行的开头

底线命令模式:

在命令模式输入:即可进入底线命令模式。

底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式

配置sudo认证:

在root用户模式下执行visudo命令,通过vi编辑器打开:/etc/sudoers文件,在最后添加

【普通用户名 ALL=(ALL)                        NOPASSWD:ALL 】最后wq保存。

NOPASSWD:ALL表示使用sudo命令,无需输入密码。


权限信息:

权限细节总共分为10个槽位

-:如果在开头则表示文件,其他位置则表示没有这个权限。

d:表示文件夹。

l:表示链接。

r:表示读权限         记为4。

w:表示写权限        记位2。

x:表示执行权限      记位1。

权限的数字序号:权限可以用三位数字来表是第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户。

0无任何权限---
1仅有x权限--x
2仅有w权限-w-
3有w和x权限-wx
4仅有r权限r--
5有r和x权限r-x
6有r和w权限rw-
7有全部权限rwx

光标移动的快捷方式:

ctrl+a跳到命令开头
ctrl+e跳到命令结尾
ctrl+键盘左键向左跳一个单词
ctrl+键盘右键向右跳一个单词

修改linux时区:

在root模式下通过命令rm -f /etc/localtime 和

sudo ln -s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

通过ntp程序自动校准系统时间

安装ntp:yum -y install ntp

设置开机自启:systemctl start ntpd   systemctl enable ntpd


修改主机名:

查看主机名:hostname

修改主机名(root下):hostnamectl set-hostname 主机名


$符:

在linux系统中$符被用来取“变量”的值。例如:echo $PATH就是取到环境变量的值,并输入出来。


持续学习中。。。。。。

标签:文件,基础,用户,模式,命令,文件夹,Linux,parameter
From: https://blog.csdn.net/qq_47036925/article/details/136401851

相关文章

  • 【提升C语言基础知识】数据在内存中的存储
    1.整数在内存中的存储1.1原码,反码,补码整数(占4个字节,即32个bit)的二进制表示方法有3种,即原码,反码,补码,三种表示方法均有符号位和数值位两部分原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码反码:将原码符号位(最高位,0为正,1为负)不变,其余位按位取反得到反码补码:反码......
  • Python《基础知识》
    1.列表:list列表内的元素通过方括号[]来表示,且可以修改例:list=[1,2,3,"fhdsj","sum"]有关list的函数:cmp(list1,list2)比较两个列表的元素len(list)返回列表元素个数max(list)返回列表元素最大值min(list)返回列表元素最小值list(seq)将元组转换为列表示例:list......
  • ic基础|时序篇06:输入约束set_input_delay与输出约束set_output_delay详解
    大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是已经还准备入行,看过之后都会有有一些收获,如果看......
  • Linux常用命令
    目录find./-typef-size+102400kfind./-typef-size+102400kfind./-typef-size+102400kfind:这是一个命令行工具,用于在目录树中搜索和定位文件的列表。./:这指定了find命令应该从哪里开始搜索。在这个例子中,它从当前目录开始。-typef:这个选项告诉find......
  • 高架学习笔记之软件工程基础
    目录一、软件工程二、软件过程模型三、瀑布模型四、原型模型五、螺旋模型六、增量模型七、构建组装模型八、敏捷模型九、统一过程模型(RUP)十、软件能力成熟度模型一、软件工程    计算机刚刚投入实际使用时,软件基本上是在指定的计算机上由个人进行设计、使用以......
  • Linux第79步_使用自旋锁保护某个全局变量来实现“互斥访问”共享资源
    自旋锁使用注意事项:自旋锁保护的“临界区”要尽可能的短。因此,在open()函数中申请“spinlock_t自旋锁结构变量”,然后在release()函数中释放“spinlock_t自旋锁结构变量”,这种方法就行不通了。如果使用一个变量“dev_stats”来表示“共享资源的使用标志”,则“dev_stats>0”,......
  • java基础 韩顺平老师的 面向对象(中级) 自己记的部分笔记
       272,包基本介绍包的三大作用1,区分相同的类  2,当类很多时,可以很好的管理类  3,控制访问范围包基本用法packagecom.hspedu;说明:1,package关键字,表示打包  2,com.hspedu,表示包名包的本质分析(原理)包的本质实际上就是创建不同的文件夹/目录来保存类......
  • Linux各大发行版安装Docker
    在当今的数字化时代,Docker作为一种强大的容器技术,已经成为了开发、部署和管理应用程序的重要工具。无论是Ubuntu、CentOS还是Debian系统,掌握Docker的安装和使用方法都具有重要的现实意义。本文将详细介绍如何在这三个系统上安装Docker,并提供具体的步骤和示例,希望能为读者......
  • 【Mongodb】Linux安装Mongodb
    目录:一、官网下载安装包二、安装配置Mongodb三、安装mongosh四、安全配置 一、官网下载安装包1、下载安装包(Mongodb官网地址:https://www.mongodb.com/zh-cn)二、安装配置Mongodb 1、上传到服务器后解压#解压tar-xvfmongodb-linux-x86_64-enter......
  • 2、Linux入门
    一、查看硬件1、查看硬件:lscpu2、查看内存:free-h3、查看磁盘和分区:lsblk4、查看系统架构:arch5、查看内核:uname-r6、查看os版本:lsb_release-rs二、日期时间设置时区: timedatectllist-timezones timedatectlset-timezoneAsia/Shanghai timedatectlstatus三、文......