VMware Workstation虚拟机软件:打开一个已经安装了ubuntu或deepin或其他操作系统的虚拟机,如下图所示:
在虚拟机和宿主机切换鼠标:ctrl + alt;
ubuntu是一个桌面版的Linux系统;
shell终端 ,如下图所示:
打开一个shell终端:
- ctrl + alt + t:默认打开的路径是当前用户的家目录(~:代表家目录);
- ctrl + shit + n:在当前终端下打开一个相同路径的终端;
- ctrl + alt + enter:切换全屏;
- clear & ctrl + l:清屏;
shell命令:
- cd 目录:进入到某一目录下 ;
- cd ..:回到上一级目录 依次多次执行,肯定会回到根路径/,这是整个Linux文件系统的最顶层;
- cd:在任一目录下都可以直接回到家目录;
- cd ~:在任一目录下都可以直接回到家目录;
- cd -:回到上一次的工作目录;
TAB补齐 根据输入的首字母补齐,如果当前目录下存在以输入字母开头的多个文件的话,可以tab两下补齐,如果只有一个以输入字母开头的文件的话,只需要tab一次;
pwd:显示用户在文件系统中的当前位置,该命令没有任何选项和参数,命令执行结果显示为绝对路径名;
rm file:删除文件;rm /home/linux/file。rm dir -rf:删除文件夹 ;
touch file:如果file不存在,则创建一个空文件;如果file存在,更新file的时间戳。
cat file:在不打开文件的前提下查看文件内容;
mkdir:创建一个文件夹/目录;
- mkdir -p day01/model:如果希望创建多级目录;
- Linux的文件组织模式犹如一颗倒置的树,所有的目录或者文件都是挂载到根目录下的;
Linux世界中,一切皆文件;
[root@localhost /]# ls
bin boot dev etc home lib lib64 mnt opt proc root run sbin srv sudo sys tmp usr var
[root@localhost /]# ls -la
总用量 16
dr-xr-xr-x. 19 root root 266 11月 15 15:08 .
dr-xr-xr-x. 19 root root 266 11月 15 15:08 ..
lrwxrwxrwx 1 root root 7 3月 6 2021 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 11月 1 14:22 boot
drwxr-xr-x 20 root root 3920 11月 15 10:31 dev
drwxr-xr-x 106 root root 8192 11月 15 14:47 etc
-rw-r--r-- 1 root root 0 11月 1 13:54 .exectl_all
drwxr-xr-x 3 root root 19 11月 11 17:43 home
lrwxrwxrwx 1 root root 7 3月 6 2021 lib -> usr/lib
lrwxrwxrwx 1 root root 9 3月 6 2021 lib64 -> usr/lib64
drwxr-xr-x 2 root root 6 3月 6 2021 mnt
drwxr-xr-x 2 root root 6 3月 6 2021 opt
dr-xr-xr-x 205 root root 0 11月 15 10:30 proc
dr-xr-x--- 5 root root 218 11月 15 14:51 root
drwxr-xr-x 25 root root 720 11月 15 10:31 run
lrwxrwxrwx 1 root root 8 3月 6 2021 sbin -> usr/sbin
drwxr-xr-x 2 root root 6 3月 6 2021 srv
dr-xr-xr-x 14 root root 0 11月 15 10:30 sys
drwxrwxrwt 9 root root 180 11月 15 15:08 tmp
drwxr-xr-x 12 root root 144 11月 1 13:52 usr
drwxr-xr-x 19 root root 264 11月 1 14:00 var
[root@localhost /]# tree
.
├── bin -> usr/bin # 放一些常用的程序
├── boot # 启动文件,所有与系统启动相关的文件都保存在这里
├── dev # 设备文件
├── etc # 系统程序和大部分应用程序的全局配置文件
├── home # 使用者个人家目录
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── mnt # 常用挂载点
├── opt # 第三方程序安装处
├── proc # 显示系统状态文件
├── root # 管理员家目录
├── run # 存放系统运行时的临时数据
├── sbin -> usr/sbin # 管理员专用程序
├── srv # 存放系统服务相关的数据
├── sys # 用于提供内核对象的访问接口
├── tmp # 临时文件
├── usr
│ ├── bin # 放一些常用程序
│ ├── include # C/C++ 头文件
│ ├── lib # 存放32位库文件及兼容支持库文件
│ ├── lib64 # 存放64位架构的库文件
│ ├── local # 一些自行安装的应用程序
│ ├── sbin # 管理员专用程序
│ ├── share # 一些共享文件等
│ ├── src # 应用程序源代码
└── var
├── cache # 程序执行所产生的暂存文件
├── lib # 程序产生的数据文件存放处
├── lock -> ../run/lock # 锁定程序或设备专用
├── log # 放置系统记录文件
├── run -> ../run # 执行的PID
├── spool # 存放数据序列,如Mail等
├── www # 预设网页放置处
ls:列出当前目录下所有文件, 命令与选项之间用空格分隔;
- ls -a:列出当前目录下所有文件,包含隐藏文件;
- ls -l:列出当前目录下所有文件(不包含隐藏文件)的详细信息;
- ls -l file:在Linux世界,不是以文件的后缀名区分文件的,是通过b、c、d、-、l、s、p这些字段来区分的;
- drwxrwxr-x:d目录,-普通文件;
- rwx:代表文件所有者(user)具有的权限,r读权限,w写权限,x可执行权限;
- rwx:代表同组用户(group)具有的权限,r读权限,w写权限,x可执行权限;
- r-x:代表其他用户(other)具有的权限,r 读权限,-没有写权限,x可执行权限;
ying@ying-VMware-Virtual-Platform:~/桌面$ ls -la
总用量 8
drwxr-xr-x 2 ying ying 4096 11月 15 14:31 .
drwx------ 20 ying ying 4096 11月 19 17:03 ..
.为当前路径;..为上一级路径;
cd day02 :切换路径到当前目录下的day02目录,这里省略了.,相当于cd ./day02;
cd ../..:切换路径到上两级目录下,三级四级路径依次类推 ;
命令行提示符:username@hostname:direction$
ying@ying-VMware-Virtual-Platform:~/桌面$:
ying:用户名;
ying-VMware-Virtual-Platform:主机名;
冒号后的~/桌面:表示的是当前路径名;
$:代表是一个普通用户;
另:/home/ying表示当前用户ying的家目录;~表示家目录。
绝对路径与相对路径:
- 绝对路径:从根路径开始写全路径名,例如home/linux/Desktop;
- 相对路径:以某一路径作参照,相对于此路径在某个位置,例如`./Desktop``
cp:复制
- 复制文件
cp file1 file2 # 在当前目录下拷贝file1为file2
cp file1 /home/linux # 拷贝当前目录下的file1文件到指定目录/home/linux下,文件名仍为file1
cp file1 /home/linux/file2 # 拷贝当前目录下的file1文件到指定目录/home/linux下,文件名为file2
cp /home/linux/file1 /home/linux/Desktop # 拷贝指定目录下的file1文件到指定目录/home/linux/Desktop下
- 复制目录:复制目录和复制文件类似,只不过要在最后加上-a;
cp dir1 dir2 -a
cp dir1 /home/linux -a
cp /home/linux/dir1 /home/linux/Desktop -a
mv:移动
mv file new_file # 把当前目录下的文件file重命名为new_file
mv file /home/linux # 把当前目录下的文件file移动到/home/linux,当前目录下就没有原文件file,相当于剪切
mv /home/linux/file /home/linux/Desktop/new_file # 把指定目录下的文件file移动到指定目录下,并重命名为new_file,原来目录下就没有原文件file,相当于剪切并重命名
mv dir1 dir2 # 重命名目录
编辑器
vi file file:文件不存在,新建一个文件,但是如果文件没有保存的话,不会实际创建file文件;
vi file:打开时进入一般模式,可以输入i切换到编辑模式,在编辑模式下就可以在文件中进行输入;o从光标所在的行的下一行开始插入,并切换到编辑模式;从编辑模式退出,可以用esc按键;通过输入:进入命令行模式
w # 保存
wq # 保存并退出
q # 不保存退出
q! # 强制退出,不保存
wq! # 强制保存并退出
在一般模式下:
x # 删除光标所在的一个字符
dd # 删除光标所在的一行
p # 粘贴
yy # 复制光标所在的某一行
r # 替换光标所在的字符,输入完r之后,直接跟上要替换的字符
1,5y # 复制第一行到第五行
编写一个C程序vi HelloWorld.c:创建的c程序文件的后缀一定是.c
#include //添加头文件
int main() //主函数,程序的入口
{
printf("Hello World!\n");
return 0;
}
- 编译C程序:gcc编译器要求源程序的后缀名为.c。
- gcc HelloWorld.c:如果程序没有错误,默认会在当前目录下生成一个可执行文件a.out。
- gcc HelloWorld.c -o filename:如果程序没有错误,会在当前目录下生成一个通过-o指定文件名的可执行文件。
- ./a.out:执行编译成功之后的a.out