Linux基础命令

sudo apt update
sudo apt install -y ssh
sudo apt install vim
sudo apt install net-tools
sudo apt install manpages manpages-dev
sudo snap install code --classic

Linux中一切皆文件Linux目录结构

​/bin可执行命令程序的目录文件

​/home用户的家目录,可能包含n个用户的文件夹,默认就只有我们创建的登录用户(后期可以创建)

​/etc系统配置文件目录,例如:passwd(用户信息)

​/usr用户的安装程序目录,相当于windows中的ProgramFiles

常用基本命令帮助命令

常用快捷键

Ctrl+C或Q:停止退出

Ctrl+L或clear:清屏

Tab键:补全

上下键:查找执行过的命令

文件目录类命令pwd

ls

cd

mkdir

touch

cp

rm

mv

cat

tail

echo

与>>输出重定向

ln

history

文件权限类命令

理解权限

文件权限是为了限制不同用户的操作级别,更安全

权限:读(r4)、写(w2)、执行(x1)

文件:

可读:查看文件内容r4

可写:更改文件内容w2

可执行:可运行x1

linux tar 解压命令_解压命令linuxgz_解压命令linux

注意:文件是可重命令和删掉得看文件夹的权限

目录

可读:可以ls查看目录下的内容

可写:可以对目录内文件创建和删掉,重命令目录

可执行:可步入

内部使用3个二补码位来储存权限:rwx

也就是:4:r,2:w,1:x

可以相乘得到多个权限:3:wx5:rx6:rw7:rwx

用一个3位8补码位来代表一个文件整体权限

chmod

u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)

chmod[{ugoa}{±=}{rwx}]文件或目录

chmod权限值[文件或目录]

chmod-R权限值目录

chown

改变所有者

sudochown最终用户文件或目录

sudochown-R最终用户:最终用户组文件或目录

chgrp

chgrp最终用户组文件或目录

搜索查找类命令

1)find

find目录-namexxx依照文件名称查找

find目录-userxxx依据用户名查找

find目录-szie200c依照文件大小查找

2)grep与“|”

进行输出过滤

ls|grepxxx

cata.txt|grepxxx

tar包的压缩和解压类命令

​压缩/解压多个文件或文件夹

​压缩:tar-zcvfxxx.tar.gza.txtb.txttest

​解压:tar-zxvfxxx.tar.gz

​tar-zxvfxxx.tar.gz-C./bb

进程线程类命令

ps-aux:查看系统中所有进程

ps-ef:主要查看母子进程的关系

kill-9进程号杀害某个进程

free查看显存使用情况

top查看系统健康状况

路径类

basename:得到路径中的除最左边一层的名称

dirname:得到路径中的除最左边一层外的目录

shell命令变量

显示当前Shell中所有变量:set

自定义变量

(1)定义变量:变量名=变量值linux tar 解压命令,注意,=号前后不能有空格。

(2)撤消变量:unset变量名。

(3)申明静态变量:readonly变量,注意:不能重新形参,不能unset。

可把变量提高为全局环境变量,可供其他Shell程序使用

特殊变量

$n(功能描述:n为数字,$0代表该脚本名称,$1-9代表第一到第九个参数,十以上的参数须要用大括弧包含,如9代表第一到第九个参数,十以上的参数须要用大括弧包含,如9代表第一到第九个参数,十以上的参数须要用大括弧包含,如{10}。)

(功能描述:获取所有输入参数个数,常用于循环,判定参数的个数是否正确以及强化脚本的强健性。)

$?(功能描述:最后一次执行的命令的返回状态。假如这个变量的值0,证明上一个命令正确执行;假如这个变量的值为非0(具体是那个数,由命令自己来决定),则证明上一个命令执行不正确了。)

算数运算条件判定

写法1:testcondition

写法2:[condition](注意condition前后要有空格)

常用判定条件

-eq等于(equal)-ne不等于(notequal)

-lt大于(lessthan)-le大于等于(lessequal)

-gt小于(greaterthan)-ge小于等于(greaterequal)

-r有读的权限(read)

-w有写的权限(write)

-x有执行的权限(execute)

-e文件存在(existence)

-f文件存在而且是一个常规的文件(file)

-d文件存在而且是一个目录(directory)

流程控制if

if [ 条件判断式 ];then 
    程序 
fi
/*或者*/
if  [ 条件判断式 ] 
then 
    程序 
fi

if [ 条件判断式 ] 
then 
    程序 
elif [ 条件判断式 ]
then
	程序
else
	程序
fi

注意事项:

解压命令linux_解压命令linuxgz_linux tar 解压命令

①[条件判定式]linux软件工程师,中括弧和条件判定式之间必须有空格

②if后要有空格

case

case $变量名 in 
"值1")
    如果变量的值等于值1,则执行程序1 
;;2) 
    如果变量的值等于值2,则执行程序2 
;; 
    …省略其他分支… 
*) 
    如果变量的值都不是以上的值,则执行此程序 
;; 
esac

注意事项:

(1)case行尾必须为词组“in”linux tar 解压命令,每一个模式匹配必须以右括弧“)”结束。

(2)双分号“;;”表示命令序列结束,相当于C中的break。

(3)最后的“*)”表示默认模式,相当于C中的default。

for

for ((初始值;循环控制条件;变量变化)) 
do 
    程序 
done
/*或者*/
for 变量 in 值123do 
    程序 
done

while

while [ 条件判断式 ] 
do 
    程序
done

read命令

选项:

解压命令linuxgz_linux tar 解压命令_解压命令linux

-p:指定读取值时的提示符。

-t:指定读取值时等待的时间(秒)假如-t不加表示仍然等待。

read-p“输出的提示文本”-t秒数变量名

旁边就可以通过$变量名得到输入的内容

函数

[ function ] funname[()]     注意只能省略其中一个
{
	Action;
	[return int;]
}

函数返回值,只能通过$?系统变量获得,可以显示加:return返回,倘若不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)。

Shell工具cut

选项参数功能

-f列号,提取第几列

-d分隔符,根据指定分隔符分割列,默认是制表符“t”(只能是一个字符)

比如:从文本文件中剪出目标文本

cut-d””-f1cut.txt

它没有过滤行的功能,好多时侯须要利用grep进行过滤操作

awk

pattern:表示awk在数据中查找的内容,就是匹配模式。

action:在找到匹配内容时所执行的一系列命令。

选项参数功能

-F指定输入文件的分隔符

-v形参一个用户定义变量

变量说明

FILENAME文件名

NR行号

NF切割后列的个数

正则表达式

^匹配一行的开头

$匹配一行的结束

.匹配一个任意的字符

*不单独使用,他和上一个字符连用,表示匹配上一个字符0次或多次

[]表示匹配某个范围内的一个字符

表示通配符

版本控制Git安装

​windows:运行git.exe,按图示进行安装

​linux:sudoaptinstallgit

​配置用户名和邮箱:

linux tar 解压命令_解压命令linux_解压命令linuxgz

​gitconfig--globaluser.name[name]

​gitconfig--globaluser.email[email]

git的基本命令

​git三个重要的区:工作区、暂存区、版本区(本地库房)

​添加git忽视配置:.gitignore

​gitinit初始化库房,生成工作区=>生成.git文件夹

​gitadd.将工作区的更新添加到暂存区

​gitcommit-m”xxx”将暂存区的更新递交到本地库房

​gitstatus查看工作区和暂存区的状态(是否有更新)

​gitreflog查看历史版本信息

​gitreset--hard版本号得到指定版本的代码

远程库房

gitconfig--global[用户名]

gitconfig--globaluser.email[邮箱]

gitremoteaddorigin[库房地址]

gitpush-uoriginmain:master

会提示输入用户名和密码

gitclone[库房地址]

执行git推送(push)时,假若远程对应的分支已更新,会提示必须先拉取(pull)更新

执行git拉取时,假若远程和本地库房都改了同一个文件才会出冲突

默认不会进行带冲突的合并,须要添加配置指定手动合并:gitconfigpull.rebasefalse

再度执行git拉取linux操作系统简介,会手动进行带冲突合并

打开文件,修刚好冲突合并的文件

添加到暂存区=>递交到本地库房=>推送到远程

Linux应用GCC、glibc与GNUC的关系使用VSCodeC程序的编译过程

1)预处理

选项参数:-E

生成:xxx.i

作用:将省略和引入的内容展开添加进来,删掉代码注释

编译

选项参数:-S

生成:xxx.s

作用:生成汇编代码,还包括编译器和操作系统版本信息

汇编

选项参数:-c

生成:xxx.o

作用:对单个汇编源代码编译生成机器码文件

机器码文件内部组成

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复