Linux基础知识及命令

一:shell及内外部命令

内核安装在硬件上,shell是核外应用,用户通过终端输入指令。

shell与内核的关系,shell用于解释用户的指令传给内核使用。(充当翻译官角色,将自然语言转换为机器语言)。

内部命令是指shell自带的命令,在系统中没有相应的二进制执行文件(但是话是这样说,还是能找到的。)。(如cd,pwd等无需安装就存在的命令。)

外部命令是指安装特定软件,在系统中生成二进制执行文件才能运行的命令(如mysql,未安装mysql无法使用,安装后更改系统路径让shell知道可执行文件在哪才能使用。)

官方一点讲内部命令和外部命令的区别

内部命令是shell程序的一部分,这些命令在系统启动时就被加载到内存中,并常驻内存。由于内部命令不需要创建子进程来执行,因此其执行速度比外部命令快。例如cd、echo、exit等都是内部命令。

内部命令的执行速度较快,因为shell在解析这些命令时不需要创建子进程。可用type命令来判断一个命令是否为内部命令。

例如:type cd

# 输出:cd is a shell builtin (cd是一个shell内置)

外部命令是linux系统中实用程序的一部分,这些命令通常位于/bin、/usr/bin、/sbin、/usr/sbin等目录中。外部命令在需要时才从硬盘中加载到内存中,并由shell程序控制其执行过程。

执行外部命令时,linux系统会创建一个子进程,这种操作称为衍生(fork)。由于需要创建子进程并设置其环境,执行外部命令的开销较大。例如:ls、vi等都是外部命令。可用type命令判断一个命令是否为外部命令

例如:type ls

# 输出:ls is /bin/ls (ls是/bin/ls)

二:linux常识

命令语法:命令字 [选项] [参数] (中括号内的表示可选项,可写可不写)

命令:执行操作的核心部分,每个命令在linux系统中都对应一个文件。

选项:用于对命令的行为进行调整或扩展。

参数:命令作用的对象,通常是一个文件、目录或字符串。

选项分为短选项(-)和长选项(--)

短选项一般用于单个或两个字母组成的参数。(也有例外,比如name就得用短选项。)

短选项可以合并。例如:ls -l -a 可写为 ls -la

长选项用于完整英文单词组成的参数。

长选项不能合并使用。

参数:ls /home  /home就是ls /home的参数

相对路径:相对于当前工作目录的文件路径。

绝对路径:从根开始的完整文件路径。

例如:当前工作目录是在/root下,目标文件sooo.txt位于ooos/文件夹下。

那么相对路径就是/ooos/sooo.txt

绝对路径就是/root/ooos/sooo.txt

相对路径:当前在/root下,要去/usr/share。相对路径写法:cd ../usr/share
绝对路径:当前在/root下,要去/usr/share。绝对路径写法:cd /usr/share

如果命令忘了怎么用可用help 命令名 或 命令名 --help 来查看使用方法。还可进入/usr/share/man下进入zh_CN下查看帮助手册或者直接使用man 命令来查看。

touch创建文件时,如果文件不存在则创建,文件已存在会更新其时间戳。

使用ls -i 可查看文件的inode号。indoe号是文件在该分区的唯一标识符,不可重复。

ln的软连接和硬链接

软连接创建成功后会指向链接文件,如果链接文件被删除,软连接会失效。

例如:

-rw-r--r--. 1 0 0    0  3月 1日 10:26 111
lrwxrwxrwx. 1 0 0    3  3月 1日 10:27 222 -> 111(222是111的软连接)

软连接可跨区创建。查看软连接的inode号时会发现软连接是一个独立的文件,它的inode与链接文件不同,因此可以跨区创建。

例如:

4980745 -rw-r--r--. 1 root root    0  3月 1日 10:26 111
4980748 lrwxrwxrwx. 1 root root    3  3月 1日 10:27 222 -> 111

硬链接

硬链接不可跨区创建,它只是同一文件的不同名称(别名),使用与源文件相同的inode号。源文件被删除不会影响硬链接的使用

例如:

4980745 -rw-r--r--. 2 root root    0  3月 1日 10:26 111
4980748 lrwxrwxrwx. 1 root root    3  3月 1日 10:27 222 -> 111
4980745 -rw-r--r--. 2 root root    0  3月 1日 10:26 333(333是111的硬链接)

注意:创建软连接时一定要用指明源文件的路径,否则无效软连接。

vim的使用

vim的三种模式
:末行模式
aio后插入模式
默认是命令模式

a:在当前光标的后面进入输入模式。

i:在当前光标所在位置进入输入模式。

o:在当前光标的下面另起一行进入输入模式  。

A:在当前光标行的行尾进入输入模式。

I:在当前光标行的行首进入输入模式,如果行首有空格,则在空格后输入。

O:在当前光标行的上面一行进入输入模式。

 数字+G:到指定行 66+G 到66行。

gg:删除当前行。

G:到最后一行

:30  到第30行。(:为末行模式)

:set nu 显示行号(:为末行模式)

 dd:到文件第一行。

dG:从当前位置删除到末尾。

 u:撤销上一步操作。

 wq:保存退出。

q:退出。

q!:强制退出。

ZZ:保存当前文件并退出编辑器。

 替换 %代表所有行 3,5 第三行到第五行

% s /aaa/bbb/g   g:满足条件的都执行替换 全文所有行aaa换为bbb,每行中只要满足条件的都执行替换。

shell通过PATH内的值来搜索二进制文件位置。
 

用户家目录下有 ./bashrc  这里面是该用户的用户变量。 /etc/profile是全局变量。

linux根下各个目录的作用:

/bin:存放系统启动和运行所必须的基本命令和程序,管理员和普通用户都可以使用。

/boot:启动linux系统所需的文件,如内核文件(通常命名为vmlinuz)和启动菜单配置文件

/dev:所有的设备文件,如硬盘、usb。

/etc:系统的配置文件。

/home:用户的家目录。

/lib:系统启动或运行时所需的共享库和内核模块,32位。

/lib64:系统启动或运行时所需的共享库和内核模块,64位。

/media:可移除媒体设备,cd-rom,usb驱动器等通常被挂载到这里。

/mnt:临时挂载文件系统的目录。

/opt:第三方应用程序的安装位置。

/proc:虚拟文件系统,包含当前运行的进程和系统信息,如cpu、内存等。

/root:root的家目录。

/sbin:系统管理员使用的系统管理程序。

/tmp:存放临时文件。

/srv:服务启动后需要访问的数据目录。

/sys:虚拟文件系统,记录核心相关信息。


三、linux常用命令

pwd(print working directory,打印工作目录。):打印当前工作目录。

cd(change directory,更改目录。):切换目录。

ls(list files,列出文件。):列出文件。

-l:长格式输出

-h:人性化显示大小,以K,M,G为单位,提高消息的可读性。

-a:所有。

-rw-r--r--. 2 root root    0  3月 1日 10:26 111 第一个-代表文件属性,-代表是普通文件。

-:普通文件。

l:链接文件。

d:目录。

c:字符文件。

b:块设备文件。

du(disk usage,磁盘使用情况。):显示指定目录或文件所占用的磁盘空间。

-h:以K,M,G为单位,提高消息的可读性。

-a:显示目录中个别文件的大小。

-s:仅显示指定目录或文件的总大小,而不显示其子目录的大小。

mkdir(make directory):创建目录。

-p:递归创建。

cp(copy,复制。):复制文件或目录。

-f:强制复制,覆盖目标文件而不提示。

-r:递归复制目录及其内容(用于复制目录)。

-i:交互模式,覆盖前提示用户确认。(默认情况下,用户变量里规定cp是cp -i的别名,即使用cp就等于使用cp -i,此时使用cp -r是不生效的,可修改用户变量关闭这条规定使其生效。

rm(remove,删除。):删除文件或目录。

-r:将目录及以下之档案亦逐一删除。

-f:强制删除,不询问是否删除。

mv(move,移动。):为文件或目录改名,或将文件或目录移入其他位置。

which:查找文件

find:在指定目录下查找文件或目录。 

-name:按文件名查找

-type:按文件类型查找,可以是f(普通文件)、d(目录)、l(符号链接)等。

df(disk free):显示目前在linux系统上的文件系统磁盘使用情况统计。

cat:(concatenate,连接):连接文件并打印到标准输出设备上,查看和连接文件,将所有内容打印出来。

less:与more类似,可随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

more:类似cat,不过会以一页一页形式显示,按空格会到下一页,按b会往回一页显示,还有搜寻字符串的功能。

head:查看文件的开头部分的内容,常用参数-n来显示行数,默认为10。

-n:指定显示行数。

tail:查看文件内容,默认显示10行。

-f:不断刷新查看的文件内容(动态查看)

wc:计算字节数,字数,行数。

-l:只显示行数

-w:只显示字数

-c:只显示字节数

grep(global regular expression,全局正则表达式。):查找文件里符合条件的字符串或正则表达式。

 grep、awk、sed是文本处理三蛇,搭配正则表达式非常强大。
-v:反向查找,只打印不匹配的行。

gzip:压缩文件,文件后缀为.gz。

-d:解压缩.gz文件(等同于gunzip)

-1 到 -9:指定压缩比,-1是最快的压缩,压缩率最低;-9是最慢的压缩,压缩率最高,默认是-6.

bzip2:压缩文件,文件后缀为.bz2。

-d:解压缩.bz2文件(等同于bunzip2)

-1 到 -9:指定压缩比,-1是最快的压缩,压缩率最低;-9是最慢的压缩,压缩率最高,默认是-9.

tar(tape archive,磁带归档。):归档文件和目录,多用于备份文件。

-c:创建一个新的归档文件。

-x:解压归档文件。

-z:使用gzip压缩归档文件。

-j:使用bzip2压缩归档文件。

-v(verbose,详细):显示详细操作过程。

-f:指定归档文件的名称(必须放在选项列表的最后)。

#################################终于打完了!!!##############################

你可能感兴趣的:(linux,运维,服务器)