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