linux基础(ubuntu)自用

1 阅读6分钟

1、linux基础命令

1、linux目录结构 树型结构

根目录 /

用户主目录(家目录) ~ 或者 /home/edu

根目录下常见的文件夹:

home 所有用户的主目录 lib库文件 bin 二进制文件 root 超级用户的主目录 tmp临时文件 etc配置文件夹

2、常见的命令

1、pwd查看当前目录 cd 切换目录 cd ~ 切换到家目录

3、ls 查看当前目录的文件信息

语法:ls [选项] [参数]

ls -alh 查看当前目录的文件信息,所有的文件(包含隐藏文件),以列表形式,文件大小更人性化的方式展示

ls -alh /home 查看指定目录下的文件信息,所有的文件(包含隐藏文件),以列表形式,文件大小更人性化的方式展示

4、help查看命令帮助文档 ls --help 主要查看命令选项

5、tab 自动补全

6、重定向 > ls > a.txt 会覆盖掉文件的原来的内容

7、追加重定向 ls >> a.txt 会追加

8、管道 程序的输出作为另一个程序的输入 一般会配合grep指令使用

ps -e | grep ssh

ls -l | grep *.txt

9、tree以数形显示当前目录结构

注意需要先下载安装: sudo apt-get install tree

tree 树型显示当前目录

tree / 树型显示指定目录

tree -L 2 树形显示当前目录的2层

10、clear清屏 快捷键ctrl+l

11、创建文件 ,不能编辑文件

touch aa.txt 在当前目录创建文件

touch aa/bb/cc.txt 在指定目录下创建文件,前提指定目录许需存在

12、创建文件夹

mkdir dd 创建目录

mkdir cc/bb/hh -p 创建多级目录

13、rm删除文件(夹)

rm aa.txt

rm aa -r 删除目录要加-r

14、cp拷贝文件(夹)

cp 源文件 目的目录 将源文件拷贝到目的目录

cp 源目录 目的目录 -r 将原目录拷贝到目的目录

cp 源文件 目的文件 相当远将源文件拷贝

15、mv移动

mv 源文件 目的目录 将源文件移动到目的目录

mv 原目录 目的目录 将原目录移动到目的目录

ps:如果目的目录不存在,相当于文件夹重命名

mv 源文件 目的文件 相当于文件重命名

16、grep 查找指定内容

(1)在终端查找指定内容 grep hhhh

(2)常用 在指定文件中查找指定内容 grep hhh aa.txt

(3)配合管道使用 ps -e | grep ssh ls -l | grep aa.txt

17、链接文件 软链接和硬链接区别

软链接 ln 源文件 链接文件 -s

硬链接 ln 源文件 链接文件

对比:

链接文件与源文件的内容是实时同步的,软链接相当于快捷方式,如果源文件删除掉,链接文件将失效,硬链接的链接文件,就是一个独立的普通文件,源文件删除后,链接文件不受影响

18、压缩文件

(1)gzip格式

压缩 tar zcvf 压缩包名 文件1 文件2 文件3

解压 tar zxvf 压缩包名 -C 解压目录

(2)bz2

压缩 tar jcvf 压缩包名 文件1 文件2 文件3

解压 tar jxvf 压缩包名 -C 解压目录

暴力解压

tar xvf 压缩包名 -C 解压目录

19、date 查看查看日期

20、cal查看日历

cal 2025 查看2025年的日历

21、cat查看文件内容

cat aa.txt 查看整个文件

head -5 /etc/passwd 查看文件的前5行

tail -5 aa.txt 查看文件的倒数5行

2、用户管理

1、linux用户分为几类: 超级用户 系统用户 普通用户

2、三个相关配置文件:

/etc/passwd 查看用户的关键信息 哪些关键信息

/etc/group 用户组的关键信息(用户组名、密码占位、用户组id)

/etc/shadow 存放用户的密码信息

3、用户的操作一般要切换到root用户 注意:首次切换要要设置密码

命令:sudo passwd root

4、添加用户

(1)adduser 用户名 // 一路回车,需要设置密码

验证用户是否添加成功:

1、cat /etc/passwd

2、id 用户名

3、ls -lh /home
(2)通过选项添加用户

useradd -m -s /bin/bash -g 1001 -u 1001 -c "注释" user

验证同上

5、修改用户

usermod -l 新的用户名 -d 用户家目录 -m -u 新的用户id -g 新的用户组id

-c 新的注释 用户名

6、设置密码 需要查看密码配置信息 /etc/shadow

passwd 用户名

用户名省略,默认是设置当前用户的密码

7、删除用户

userdel -r 用户名 //加-r代表删除该用户的家目录

3、用户组管理

首先用户组配置信息 /etc/group

1、新增用户组 groupadd 用户组名

2、删除用户组 groupdel 用户组名 注意:如果用户组里有用户,用户组不能被删除

3、修改用户组 groupmod -n 新的用户组名 -g新的用户组id 用户组名

4、文件(夹)权限管理

1、查看文件的权限信息 ls -lh 包函哪些文件属性信息

2、文档的身份:owner(文档所有者) group(与文档所有者同组用户)

others(其他用户) 附加:root(超级用户)

3、文档的权限: r w x

4、权限的设置

语法:chmod [选项] 权限模式 文档路径

chmod u=rwx,g=rw-,o=r aa.txt

chmod -R a=rwx dd

//数字形式

chmod 764 aa.txt

chmod -R 777 dd

5、设置文件的属主和属组

设置属组: chgrp -R 新的用户组名 文档路径 只能设置用户组

设置属主: chown -R 新的用户名 文档路径

chown -R :新的用户组名 文档路径

chown -R 新的用户名:新的用户组名 文档路径

5、其他命令

1、重启命令 reboot

2、关机 shutdown -h +6 //6分钟后关机

3、进程管理

(1) ps -ef //显示所有进程的全部字段

(2)ps -ef | grep ssh 查看指定进程

(3)ps -aux 查看包含其他使用者的进程

(4) ps -aux --sort=-pcpu | head -11

6、gcc编译

对c代码进行编译 ,一共有4步

1、预处理(头文件展开、宏替换、删除注释、条件编译) gcc -E main.c -o main.i

2、生成汇编(进行语法检测) gcc -S main.i -o main.s

3、转成二进制文件 gcc -C main.s -o main.o

4、链接成可执行文件 gcc main.o -o main.out

执行命令 ./main.out

编译的一部到位的命令:gcc main.c -o main.out