抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

misakivv的博客

霜蹄千里骏,风翮九霄鹏

Linux基础02

1.sudo

1
临时root用户权限

2.su

1
2
3
4
5
6
7
8
9
10
11
切换用户
su 用户名
linux@ubuntu:~$ su root
Password:
root@ubuntu:/home/linux#
^ ^ ^
1 2 3
1.root用户
2.用户主目录的完整路径
3.#代表root用户权限
exit:退出用户
image-20231031084314853.png

3.chmod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
修改权限
三组用户:文件属主、文件属组、其他用户
r:可读 w:可写 x:可执行 -:没有对应的权限
1.+、-、=
+:添加权限
-:删除权限
=:设定权限
u(user):文件属主
g(group):文件属组
o(other):其他用户
a(all):所有用户
sudo chmod 用户+、-、=权限 文件名
sudo chmod 用户+、-、=权限 文件名 -R

2.八进制权限掩码
r、w、x = 1 =0

image-20231031085434416.png
一组的权限 二进制 八进制 含义
000 0 都没有
–x 001 1 可执行
-w- 010 2 可写
-wx 011 3 可写可执行
r– 100 4 可读
r-x 101 5 可读可执行
rw- 110 6 可读可写
rwx 111 7 全都有
1
2
3
4
5
6
7
8
9
sudo chmod 三组用户的八进制权限 文件名
sudo chmod 三组用户的八进制权限 目录名 -R
-rwxrwxr-x 1 linux linux 8928 Oct 30 14:17 test01
111111101
7 7 5
linux@ubuntu:~$ sudo chmod 777 test01
-rwxrwxrwx- 1 linux linux 8928 Oct 30 14:17 test01
111111111
7 7 7

4.apt-get

1
2
3
4
sudo apt-get install 软件名:下载软件
sudo apt-get remove 软件名:卸载软件
sudo apt-get update:更新下载源
sudo apt-get upgrade:更新所有的软件

5.tar

1
2
3
4
5
6
7
8
9
10
11
12
打包和解包
1.打包
-c:打包
-v:显示打包的过程
-f 包名:指定生成包的名字
sudo tar -cvf 包名 源文件
2.解包
-x:解包
-v:显示解包的过程
-f:包名:指定要解包的包名
-C:指定路径
sudo tar -xvf 包名

6.vi/vim

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
vim 文件名
1.文件不存在,创建文件并进入编辑器
2.文件存在,直接进入编辑器
刚进去编辑器处于命令模式,输入i、a、o进入插入模式,按ESC键推出到命令模式,输入
:w 保存
:wq 保存并退出
:q 退出(没有做出如何修改)
:q! 强制退出
命令模式下的操作:
yy:复制光标所在一行
p:粘贴至光标下一行
P:粘贴至光标上一行
nyy:n为数字,复制n行
dd:删除(剪切)光标所处一行
ndd:n为数字,删除或者剪切n行
u:撤销前一步操作
x:删除一个字符
gg:切换到首行
G:切换到尾行
nG:n为数字,切换到n行
$:切换到行尾
0:切换到行首
ZZ:保存并退出
ZQ:不保存退出
多窗口编辑:
输入:冒号进入底行模式
在底行模式下
vs 文件名:垂直切分窗口
sp 文件名:竖直切分窗口
ctrl+ww:切换窗口

7.gcc编译器

1
2
3
4
5
6
7
8
9
10
11
12
13
gcc 可选项 源文件
编译流程:源文件.c-->预处理-->编译-->汇编-->链接-->可执行文件
gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.o -o hello
./hello

gcc hello.c -o nihao
./nihao

gcc 源文件:默认生成a.out可执行文件,运行./执行文件名
gcc 源文件 -o 自定义可执行文件名:生成自定义可执行文件,运行./可执行文件名

8.cat

1
2
3
4
5
6
7
8
9
10
11
12
将文件内容回显到终端上
cat 文件名
-n:显示行号
linux@ubuntu:~/10_31$ cat -n hello.c
1 #include<stdio.h>
2 int main()
3 {
4 printf("hello world\n");
5 return 0;
6
7 }
tac 文件名:倒着回显
blob

9.第一个C++程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//文件名cpp
linux@ubuntu:~/10_31$ cat hello.cpp
#include<iostream>
using namespace std;
int main()
{
cout << "hello world" <<endl;
return 0;
}
//g++ 文件名: 编译c++文件 运行./可执行文件
/*
#include 包含头文件
using namespace std;告诉编译器使用std命名空间。std是c++的标准命名空间。标准库写好了的
int main():主函数,程序的开始
return 0 :程序的结束
cout:输出
<<:重载运算符
endl:换行
cout << "iKUN\n""hello world" << endl;
*/

image-20231031152016950.png image-20231031152534153.png

评论