Linux操作系统
一、命令格式
1.1打开终端的方式
1. ctrl alt+t
2.鼠标右键选择打开终端
1.2终端提示符
Ubuntu@Ubuntu:~$
例如:hjq@Ubuntu:~$
其中第一个hjq是指用户名(是普通用户还是超级用户root),即登录Linux系统的的用户
第二个Ubuntu是指主机名,就是这台Linux虚拟机的名字
波浪号表示:当前用户的家目录,即/home/hjq/
如果是/,则表示的是根目录
$表示普通用户权限
#表示管理员权限
1.3命令格式
命令 选项 参数
1.4命令帮助信息
命令 --help
注意:并不是所有的命令都有帮助信息,例如pwd就没有,pwd表示查看当前路径位置
1.5man命令
man是Linux中提供的一个手册,分为多个章节
第一章:命令相关的帮助信息
第二章:操作系统调用,内核提供的函数
第三章:库函数的帮助信息
用法:
man 章节 查找的信息
man 1 ls --------第一章中查找ls命令
man 2 open -----第二章中查找open命令
man 3 printf ----第三章中查找printf库函数
注意:
- 如果命令或者系统调用或者库函数名相同的话,会在各个章节中去寻找
- 如果命令之间的章节号不写,那么默认会从第一章开始去寻找,直到找到为止
1.6 Linux常用技巧
-
自动补全:写一部分文件名或者目录名,如果该路径下只有唯一和该文件名匹配的文件或者目录,那么会自动补全;如果有多个的话,可以连续按两下tab键,会自动列出以输入的字符开头的文件或者目录
-
**历史命令:**可以按方向键的上下键,来查看之前的命令,方便使用
-
ctrl +c可以结束运行中的程序
-
重定向:
命令 > 目的文件:将原本文件中的内容清空,然后将本来输出在终端屏幕上的信息输出到指定的文件中
命令 >> 目的文件: 以追加的方式将原本输出在终端中的信息,输入到指定文件中
-
**管道:**就是 | ,将一个程序的输出作为另外一个程序的输入。例如 :
ls --help | more, 该命令按空格可以一页一页的显示信息,按回车可以一行一行的显示,按q可以退出,用于内容较多的文件查看
ls /etc | wc -w命令可以用于显示/etc目录下的文件上,因为文件都是一个个单词隔开的,而wc -w则统计单词个数
二、Linux命令
ls命令
显示文件类型、文件权限、链接文件的个数、用户名、用户组名、文件大小、文件创建时间、文件名
ls -a //显示所有文件,包括以..或者.开头的隐藏文件
ls -l //显示当前目录下的除了隐藏文件外的所有文件
ls -h //人性化显示文件信息,主要体现在文件大小可以通过带单位的字节数表示,例如某个文件大小为3.4k,表示3.2k的字节大小
//如果想查看指定位置的目录信息,只需要在之后加上目录路径即可
//这几个命令可以其一用,例如
ls -al //显示包括以..或者.开头的隐藏文件在内的所有文件的详细信息
ls -hl //
ls 目录名 //查看指定目录下的文件信息
ls -A //显示除了.和 ..以外的所有文件
ls - //
文件类型
注意:Linux中不会以文件的后缀名作为文件类型的区分;Linux中一共有bcd-lsp这么几种类型的文件
- b-----------块设备文件
- c-----------字符设备文件
- d--------目录文件
- -表示普通文件
- l----------符号连接文件(快捷方式)
- s----套接字文件
- p-----管道文件
文件权限
分为三组------------创建文件的用户主、用户组、其他用户对文件的操作权限
r代表读权限,w代表写权限,x代表执行权限,-表示没有相关权限
对于目录文件而言:
- 读表示查看目录下的文件
- 写权限表表示可以在目录中创建、删除、修改目录
- 执行权限表示能够访问、进入目录
链接文件的个数(硬链接)
硬链接表示目录中有子目录的个数---------------对于目录而言
用户名
文件或者目录的创建者
用户组名
创建者所在的组
文件大小
默认以字节为单位
创建时间,或者最后的修改时间
文件名
修改文件权限
chmod (a、u、g、o)(+、-)(r、w、x) 文件名
a:表示三组同时修改
u:用户
g:用户组
o:其他用户
+:添加权限
-:删除权限
修改文件创建者
chown 用户名1 文件名 ------改变文件的创建者为用户名1
注意:只有管理员权限可以操作
修改文件用户组
chgrp 用户组 文件名 -------修改文件的用户组
注意:只有管理员权限才可以操作
tree命令
以树状结构显示当前目录下的文件
tree -L 层数:表示只显示3层树状结构
清屏命令
- clear
- Ctrl+l
切换路径
cd 目录名
cd / 回到根目录
cd ~ 和cd 这这两个命令都是回到用户家目录,也就是/home/Ubunt
注意,如果是管理员使用cd 命令,会回到/root
cd … 进入当前目录的上一级目录
cd . 进入当前目录
注意:只要是目录文件,那么就一定有 .和…这样两个隐藏目录文件;他们分别表示当前目录和上一级目录,
cd - 可以回档上一次的目录
查看命令
cat 文件/文件所在路径
cat -n 文件/文件所在路径 ----------------行号显示查看
查看文件前十行
head -num 文件名1 文件名2 ---------------当显示多个文集的前num行(默认是10行),而且时候会在每个文件的开头显示文件名
tail:显示文件后x行,默认是10行
tail -num 文件名 -----------查看文件的指定后num行
file :查看文件的类型
file 文件名
diff 文件1 文件2 ---------比较文件1和文件2的不同
删除命令
rm 文件名1 文件2 文件3
注意如果没有写权限,那么会提示,只需要在提示后面输入yes即可删除
rm -r 文件夹名 ----------------删除目录
rm -rf 文件名/文件夹名 ---------------强制删除,即使要删除的文件或者文件夹不存在也不会报错
rm -r 文件名/文件夹名 -i --------每次删除会提示是否删除
rmdir -p a/b/c ----------表示递归删除目录,结果表现为a/b/c都删除了
复制命令
cp 文件 目录2---------------------表示将文件复制到指定的目录2
cp 目录1 目录2 -a -----------------将目录1及其内容复制到目录2中(注意默认cp是不能复制目录的,需要加上-a才行)
移动命令
mv 指定路径下的文件/目录1 指定路径下的目录2 -----------------移动文件或者目录1到目录2中(不加路径,默认是当前路径)
mv 文件1 文件2 ----------------表示将文件重命名为文件2
mv 目录1 目录2 ------将目录1重命名为目录2
文件、文件夹创建
mkdir 指定路径下的文件夹 -------------创建一个指定路径下的文件夹
mkdir 指定路径下的文件夹1 文件夹2 ------------可以在指定的路径下创建多个文件夹
mkdir -p 指定路径下的额文件夹1/文件夹2/文件夹3 ---------这种递归创建文件夹必须加上-p
注意不可以创建已经存在的文件夹
touch 指定路径下的文件名 ------------创建指定路径下的文件
注意:可以创建同名的文件,这样的话会更改原来的文件的创建时间,其余的都不变
注意创建文件的时候路径必须存在,不然创建不了
查找命令
find 路径 -name 目录名或者文件名 -----------在指定的路径或者子目录中寻找规定的目录名或者文件名
find 路径 -name ‘*.txt’ -------------------在指定的路径或者子目录中寻找以.txt为后缀名的所有文件
查看文件指定信息
grep 信息 文件名 -n ----------在指定文件中寻找指定的信息,输出格式是,,显示行号,将自指定信息所在行的所有信息都输出,并将指定信息标红显示
grep 信息 目录1/目录2/* -R -n 递归的找到目录中所有的相关信息
创建连接文件
软连接(符号连接)
ln -s 源文件的名字 快捷方式的名字(连接文件的名字) ---------------连接文件就是源文件的快捷方式
操作软连接就是操作原文件,当原文件被删除后,软连接就失效了,但是该软连接还在,只不过里面内容没了。
硬链接
创建一份与原文件完全一样的文件,此时原文件和硬链接文件的连接数都一样,但是修改其中任意一个文件,其他文件也会跟着修改。
如果删除了原文件,硬链接文件不受影响
ln 原文件 硬链接文件
压缩文件
文件归档:并不会将文件的大小进行改变,反而归档文件会变大。 -----文件名变为 文件名.tar
gzip格式压缩
打包和解压
tar -zcvf 压缩包名.tar.gz 文件1,文件2,文件3… ---------将文件1,文件2,文件3打包到压缩包中
tar -zxvf 需要解压的压缩包.tar.gz --------------------将压缩包解压
c:表示创建归档
x:表示释放归档
v:表示多个文件
f:
bzp2格式
tar jcvf 压缩包名.tar.bz2 文件1,文件2,文件3… ---------将文件1,文件2,文件3打包到压缩包中
tar jxvf 需要解压的压缩包.tar.bz2 -C 路径 --------------------将压缩包解压解压到指定路径
查看内存命令
df
命令(Disk Free):df
命令用于显示文件系统的磁盘空间使用情况,包括磁盘总容量、已用空间、可用空间和文件系统的挂载点等信息。- 常用选项:
-h
:以人类可读的方式显示磁盘空间大小,例如 GB、MB 等。-T
:显示文件系统类型。-i
:显示 inode 使用情况。
- 示例:
df -h
将以人类可读的方式显示磁盘空间信息。
du
命令(Disk Usage):du
命令用于显示文件或目录的磁盘空间使用情况,可以查看特定文件或目录所占用的空间大小。- 常用选项:
-h
:以人类可读的方式显示磁盘空间大小。-s
:显示汇总信息,即只显示目录的总大小而不显示子目录的大小。-c
:显示总计大小。
- 示例:
du -h
将以人类可读的方式显示当前目录及其子目录的空间使用情况。
因此,df
用于查看整个文件系统的磁盘空间使用情况,而 du
则用于查看指定文件或目录的磁盘空间使用情况。在管理磁盘空间时,这两个命令通常结合使用,以全面了解磁盘空间的分配情况。
用户管理
修改普通用户密码
-
进入管理员用户后,再改指定普通用户密码
su root -------------输入管理员密码,进入管理员登录
passwd 指定普通用户---------------此时可以直接修改指定普通用户的密码,此时密码长度不受限制
-
普通用户提升权限后直接修改
sudo passwd 指定普通用户名
此时普通密码过短会修改不成功
修改管理员密码
passwd root --------------修改root密码
切换用户
-
su -----------默认进入管理员用户
-
su root --------进入root 用户
-
su 用户名 ---------进入到指定用户
注意每次切换用户,都需要输入用户的密码,该密码是要登录的用户密码
-
退出root 用户:输入exit
添加新用户
sudo adduser 新用户名
或者在root登录下进行 : addusr 新用户名
注意只有管理员可以添加用户
给新用户添加权限
在管理员权限下,进入/etc/sudoers,然后再vi编译器中添加
删除用户
管理员权限才可以删除用户
sudo userdel -r 用户名 ---------------删除该用户的所用信息
注意:用户中没有的文件,就会提示没有找到改文件
用户组管理
在/etc/group目录下查看所有组信息, :q退出
查看用户所在的用户组:groups 需要查看的用户名
添加用户组
sudo groupadd 需要添加的用户组名
删除用户组
sudo groupdel 需要删除的用户组名
往用户组中添加用户
sudo gpasswd/usermod -a -G 用户组 用户名
这里的-a表示追加的方式添加新用户到用户组
从用户组中删除用户
sudo gpasswd -d 用户名 用户组
ping +网络地址/ip
查看网络连接状况
ifconfig -----------查看本机网络信息
第一次使用需要安装net-tools
命令:sudo apt install net-tools
Shell脚本
Shell脚本是指利用shell命令编写的,可执行文件。运行该文件就是按照逻辑顺序执行shell命令
使用shell脚本
shell脚本的后缀名是.sh
-
shell脚本是一个可执行文件
chmod a+x shell脚本名.sh
-
使用shell解释器
解释器 xxx.sh
添加注释,解释shell文件使用的是哪个解释器
#!/bin/bash
shell脚本语法
定义变量
变量名=值
如果值为路径需要用""括起来
变量引用
$表示变量值使用,如果不加的话就会认为后面是字符串
echo 打印字符串
变量值都是字符串:""和’’
" " :会解析字符串变量
echo “$a” ========== echo $a
’ ’ :不会解析字符串的内容
(反引号):把引号中的内容解析,同时得到执行结果。用途是,将结果给一个变量
**注意:" " 如果不加,默认也是加上一个双引号。被单引号括起来的变量和普通字符一样,直接原样输出 **
运算指令expr
乘法需要写成 *
运算符和变量之间要空开
输入、输出
echo 字符串:
read 变量名1
位置变量
磁盘分区
U盘默认挂载路径
/media/hjq/udisk/
U盘挂载指令(重新挂载U盘)
sudo mount sdc1 /media/hjq/udisk
卸载U盘
指令
fdisk /dev/sdc ()
网络连接(桥接模式)
以上内容均来自主机的内容,其中DNS域名和网关一样即可