Linux下Ubuntu的使用1(快捷键,指令)

目录

一、怎么使用Ubuntu

1、操作系统

2、VMware虚拟机

3、Ubuntu操作环境打开

4、认识Ubuntu结构

​编辑

二、熟悉Linux

1、终端快捷键

2、命令行提示符

三、shell指令

1、man(查看手册,man手册类似于数据手册)

2、su(切换用户)

3、passwd(修改密码 )

4、sudo(单次管理员权限)

5、pwd(查看当前所在位置的绝对路径)

6、ls(查看目录下有哪些文件)

7、ls -l显示的详细信息的介绍

8、chmod(修改文件权限)

1)使用字母表示法修改文件权限

2)使用八进制表示法修改文件权限

9、cd(切换工作路径)

10、mkdir(创建目录)

11、touch(创建文件)

12、tree软件的使用

13、rm(remove删除文件)

14、通配符

15、rmdir(删除空目录)

16、Tab键(自动补齐)

17、cp(copy拷贝文件/目录)

18、mv(move 移动,重命名,删除,剪切文件或目录)

19、cat(查看文件中的信息)

20、echo(直接在终端中输出内容)

21、重定向符

22、文件信息解读

1)/etc/passwd

2)/etc/group

3)/etc/shadow

23、vim(创建编程用文件)

1)命令行模式

2)插入模式

3)底行模式

4)三个模式间如何切换

 24、gcc(解析器,编译器)


一、怎么使用Ubuntu

1、操作系统

使用Linux系统        原因:开源,免费,可以和硬件结合。

2、VMware虚拟机

WMware:虚拟出一片空间,专门用作开发,用作启动Ubuntu。

3、Ubuntu操作环境打开

打开方式:

拍摄快照:

 关闭方式:

建议待机挂起

 情况:如果打不开Ubuntu

4、认识Ubuntu结构

树状图,重点区分/home和用户家目录的区别

二、熟悉Linux

一般嵌入式开发都没有图形化界面,都是通过命令行远程连接到某一台设备

1、终端快捷键

打开
1.点击终端图标 
2.ctr alt t 
3.ctr shift t 在已经打开终端的前提下,重新打开一个新的终端 
4.ctrl shift e 在已经打开终端的前提下,左右分屏
5.ctrl shift o 在已经打开终端的前提下,上下分屏 
关闭: 
1.点击关闭 
2.ctrl d 
3.exit 
快捷方式: 
1.ctrl shift + 放大 (该+是+=混合间的键盘) 
2.ctrl -       缩小 
3.ctrl shift c 赋值 
4.sgtr shift v 粘贴

2、命令行提示符

ubuntu            @            ubuntu:            ~               $
  |               |               |               |               |
用户名          分隔符          计算机名       前用户的家目录    普通用户权限
                                                            #表示超级用户的权限

命令行提示符的第四个位置表示当前所在工作路径 

三、shell指令

格式1:指令 参数 选项
格式2:指令 选项 参数    (随着版本的更新,部分指令可以使用这个格式)
注意:指令,参数,选项之间必须使用空格,参数和选项位置可以互换
参数和选项可有可无

终端操作不要在root权限下进行

因为root是Linux中的超级用户,权限较大,所以root的操作基本都被允许不会报错。

1、man(查看手册,man手册类似于数据手册)

2、su(切换用户)

su 用户名
su root
root的密码        默认是随机的,这样谁都不知道密码,所以要修改密码
可以使用exit退出当前登录用户,返回上一个登录用户

3、passwd(修改密码 )

passwd 用户名 
sudo passwd root
修改密码过程中,会要求输入多次密码,每一次都看不到密码(不会显示)
只有管理员可以修改密码,现在没有管理员权限,可以用sudo指令赋予单次的管理员权限

显示已成功更新密码:说明密码更新成功,可以使用新的密码登录了

4、sudo(单次管理员权限)

sudo 指令

作用:使用超级用户的权限执行后面的指令

帮助记忆:

su 直接回车,默认切换到root用户,su切换到超级用户 do做···

5、pwd(查看当前所在位置的绝对路径)

pwd ----->直接在终端输入 
查看Ubuntu用户的绝对路径:/home/ubuntu (绝对路径指的是从根目录出发的路径) 
注意:绝对路径中第一个/既表示路径分隔也表示根目录

6、ls(查看目录下有哪些文件)

ls 参数 操作数(实际就是一个路径)     ls用于查看指定路径下有哪些文件 
直接在终端输入ls:查看当前路径下有哪些文件 
1、ls 后的路径是文件名时,直接回显文件名到终端 
2、ls 后的路径是目录名时,直接回显目录中的文件名到终端

ls指令可以加参数

ls -i 带inode显示文件名 (文件的inode号是文件在系统中的唯一标识,类似于人的身份证号) 
ls -a 显示路径下的所有文件(包括隐藏文件) (隐藏文件:文件名前面带.的就是隐藏文件) 
ls -l 显示路径下文件的详细信息 
ls -lh 给文件大小带单位的显示路径下文件的详细信息 多个参数可以结合使用

7、ls -l显示的详细信息的介绍

 -    rw-rw-r--    1     ubuntu   ubuntu   18    Mar 19 16:26   2.c
 |        |        |       |        |       |        |           |
文件 | 每一种用 | 硬链接 | 文件所 | 文件所 | 大小 |   时间戳   |  文件名
类型 | 户对文件 | 文件的 | 属用户 | 属组用 |      
       的权限     个数             户     

- 普通文件        时间戳(文件最后一次被修改的时间)

Linux下的文件类型一共有七种  分别是 b c d - l s p

b:块设备文件
c:字符设备文件
d:目录文件
-:普通文件
l:软链接文件
s:套接字文件
p:管道文件

rw-:文件所属用户对文件的权限(第一组)
rw-:文件所属组用户对文件权限(第二组)
r--:文件其他用户对文件的权限(第三组)

所属用户:哪个用户创建文件,哪个用户就是文件的所属用户
所属组用户:分小组作业时,所属用户属于哪一个组,文件所属组就是哪一个组
其他用户:和文件没有任何关系的用户
r 可读 w 可写 x 可执行 - 不具备该权限

8、chmod(修改文件权限)

1)使用字母表示法修改文件权限

知道用户的字母表示和权限的字母表示

用户的字母表示:

所属用户:u(user)                  所属组用户:g(group)

其他用户:o(other)                 所有用户:a(all)

权限的字母表示:

r:可读 w:可写 x:可执行

修改权限的格式: chmod 用户的字母表示  +/-/=  权限的字母表示 文件名 
+:添加权限 
-:取消权限 
=:赋指定权限 
例: 给1.c文件的所属用户添加可执行权限 chmod u+x 1.c

2)使用八进制表示法修改文件权限

通过八进制数修改文件权限

文件权限的八进制表示法:

三位二进制数,分别表示有无 读权限 写权限 执行权限
将三位二进制数转为一位八进制数表示一个用户的权限范围

三位八进制数,分别表示  所属用户 所属组用户 其他用户 的权限
格式: chmod 三位八进制数 文件名 
三位八进制数分别对应三种用户的权限,一定要写三位八进制数 
eg: chmod 666 1.c --->给1.c文件的所属用户、所属组和其他用户都是可读+可写的权限 
    chmod 0777 1.c --->0是八进制数的前导符,777是权限

9、cd(切换工作路径)

格式:
    cd 操作数(指定路径)
cd 指定路径 
cd 直接回车 ---->会切换到当前登录用户的家目录 
cd - 切换到上一次的工作路径 
cd .. ---->切换到当前目录的上一级目录中 
cd . ---->切换到当前目录中

绝对路径:从根目录出发的路径,就是绝对路径
相对路径:相对于当前位置/当前用户而言的路径,就是相对路径 
    /:绝对路径 ~:相对路径 

~是一个相对路径,当前登录的用户是谁,就切换到谁的家目录

10、mkdir(创建目录)

目录就是Windows下的文件夹

格式: mkdir 目标路径 ---->创建指定目录 
eg: 当前在家目录下:
    mkdir 25041 --->在家目录下创建了25041目录 
    mkdir 25041/day2 --->在家目录下的25041目录下创建了目录day2

mkdir创建多层目录,但是缺少前面层目录时

可以通过给mkdir指令加上参数 -p,解决创建多层目录的问题

 mkdir -pv 25041/day3/test
       -v 可以在终端打印递归创建的过程

11、touch(创建文件)

创建文件

touch 文件名(可以是文件的绝对路径也可以是文件的相对路径) 1、文件本身不存在,创建文件 2、文件本身存在,更新文件的时间戳 文件的时间戳:最后一次被修改的时间

12、tree软件的使用

Linux下安装的软件,可以直接在终端输入软件名进行使用

13、rm(remove删除文件)

rm 文件的绝对路径/文件的相对路径 
rm 1.c ----->删除当前目录下的1.此文件 
rm -r 目录路径 ---->递归删除目录  不管目录里有没有文件,都删除
   -v 可以在终端打印递归的过程

14、通配符

* 可以通配一个或多个字符
? 只能通配一个字符
[abc] 可以通配[]内的任意一个字符
[[:lower:]] 通配所有小写字母
[[:upper:]] 通配所有大写字母

15、rmdir(删除空目录)

rmdir 目录的路径 --->删除目录

rmdir -pv 目标目录的路径 --->递归删除目录
    rmdir -p 使用时要把一整条路径写清楚,会从后往前逐个删除空目录,只删除路径下的空目录
    rm -r 则会从后往前逐个删除目录,不论是否有内容

 

16、Tab键(自动补齐)

可以输入部分然后按Tab键,将关键字补齐
如果当前打的部分关键字不唯一,则按两下Tab键,提示关键字

17、cp(copy拷贝文件/目录)

        拷贝目录时需要加上 参数 -r

功能:实现文件以及目录的拷贝
1.文件拷贝文件
    格式:cp 文件1 文件2   把文件1拷贝为文件2
    cp f1 f2         f1必须存在,f2可有可无
        当f2不存在,把f1拷贝一份为f1,重名为f2
        当f2存在,把f1拷贝一份为f1,重名为f2,替换原来的f2文件
2.目录拷贝目录
    格式:cp 目录1 目录2 -r   目录1存在,目录2可有可无
    cp dir1 dir2  -r 
        当dir2不存在,则把dir1拷贝一份,重名为dir2     
        当dir2存在,则把dir1拷贝一份,存储到dir2里面   
3.文件拷贝目录
     cp file dir     文件和目录提前存在
        如果dir中没有同名file文件,把file拷贝一份存到dir里面
        如果dir中有同名file文件,把file拷贝一份存到dir里面,替换原文件

18、mv(move 移动,重命名,删除,剪切文件或目录)

移动文件/目录 ---->类似于剪切(源文件消失,新的文件存在)

可以直接移动目录

功能:剪切,实现文件的重命名
1.文件剪切文件
    格式:mv 文件1 文件2   把文件1重名为文件2
    mv f1 f2         f1必须存在,f2可有可无
        当f2不存在,把f1重名为f2,f1删除
        当f2存在,把f1重名为f2,替换原来的f2文件
2.目录剪切目录
    格式:mv 目录1 目录2     目录1存在,目录2可有可无
    mv dir1 dir2  
        当dir2不存在,则把dir1重名为dir2     
        当dir2存在,则把dir1剪切到dir2里面   
3.文件剪切目录
     mv file dir     文件和目录提前存在
        如果dir中没有同名file文件,把file剪切dir里面
        如果dir中有同名file文件,把file剪切到dir里面,替换原文件

19、cat(查看文件中的信息)

格式:
    cat 文件的路径 
功能:读取文件中的内容到终端 cat只能读取文件,
      即使cat后面随便放了一个字符串,该字符串也会被是被为文件

20、echo(直接在终端中输出内容)

格式: echo 字符串 
将字符串显示在终端,即使echo后面跟的是文件名,也只会把文件名识别为字符串

21、重定向符

格式:
    输出指令 重定向符 文件

逻辑:
    将输出指令的输出结果存入文件中

>: 重定向
1、cat 1.c > 2.c
将1.c中的内容重定向到2.c文件中
    如果2.c不存在则创建并写入
    如果2.c存在,覆盖掉原来2.c中的内容
2、echo hello > 2.c
将hello重定向到2.c文件中
    如果2.c不存在则创建并写入
    如果2.c存在,则覆盖掉2.c中原有的内容

>>: 追加
1、cat 1.c >> 2.c 
将1.c中的内容追加到原来2.c内容的后面
    如果2.c不存在则创建并写入内容
    如果2.c存在,则将1.c中的内容追加到2.c后面
2、echo hello >> 2.c
将hello追加到原来2.c内容的后面
    如果2.c不存在则创建并写入内容
    如果2.c存在则将hello追加到2.c后面

22、文件信息解读

1)/etc/passwd

该文件下不存储用户的密码,存储的是用户的信息

root        :x:        0:       0:      root:        /root:        /bin/bash
 |           |         |        |         |            |                |
用户名     是否加密    uid      gid      所属组      用户家目录    用户使用的bash解析器

2)/etc/group

ubuntu:x:  1000: 
组名 是否加密  组id

3)/etc/shadow

用来存用户密码的,普通用户没有查看权限
如果想要查看文件需要加sudo

23、vim(编辑器)

vim:是一个编辑器,用来写代码,
vim兼容vi,vim添加新的操作,查找,高亮显示
格式:
    vim 文件名 打开一个文件
    vim -o 文件1 文件2... 上下打开多个文件
    vim -O 文件1 文件2... 左右打开多个文件

1)命令行模式

        作用:赋值,粘贴,剪切,删除等

        当进入到vim编辑器时,默认在命令行模式

复制:
yy          复制光标所在行
p           粘贴在光标所在行的下一行
P           粘贴在光标所在行的上一行
nyy         复制光标所在行的n行    
选中代码y    复制选中的内容

剪切=删除:
dd           剪切光标所在行 
ndd          剪切光标所在行的n行  
选中代码d     剪切选中的内容
u            撤回
ctrl r       反撤回

跳转:
gg           光标跳转到首行
G            光标跳转到尾行
ngg -->nG    光标跳转到n行

组合使用:
ggyG         全文复制
ggdG         全文删除,剪切
=            格式对齐
gg=G         全文对齐

先点中ctrl shift   鼠标左键选中赋值的代码,在点击c

2)插入模式

编辑内容,写代码

记住 o 在光标所在行的下一行插入  insert键  在光标所在字符的前面插入 就行

a        在光标所在字符的后面插入
A        在光标所在行的行尾插入
i        在光标所在字符的前面插入
I        在光标所在行的行首插入
o        在光标所在行的下一行插入
O        在光标所在行的上一行插入
s        剪切光标所在字符,并且在该字符的位置插入
S        剪切光标所在一行,并且在行的行首位置插入
insert键  在光标所在字符的前面插入

3)底行模式

作用:保存,退出,查找,替换,高亮显示等

:w      保存
:q      退出
!       强制操作
a        所有

:wqa     保存退出所有
/字符串     查找字符串,高亮显示
:noh        取消高亮显示
:set nonu   取消行号
:set nu   显示行号

:%s/字符串1/字符串2     全文把字符串1替换为字符串2
:%s/字符串1/字符串2/g     全文把字符串1替换为字符串2

:m,ns/字符串1/字符串2/g     把m-n行的字符串1替换为字符串2
:m,ny
:m,nd

4)三个模式间如何切换

 24、gcc(解析器,编译器)

gcc是以GNU发行的C和C++的集成器,编译器

1.直接运行
    gcc  ***.c      默认生成一个a.out可执行二进制文件
    ./a.out   运行a.out文件
2.修改可执行文件
    gcc ***.c -o 指定的可执行文件名
    ./指定可执行文件名
3.-Wall  显示所有警告的(实际是一组警告)
    定义变量未初始化
    未使用的参数,变量
    函数未返回 ....
    gcc ***.c -Wall        会发生警告:代码更安全
4.-Werror   把警告改为报错
    gcc ****.c -Werror
      如果***.c文件中存在警告,则改为error
      目的:是程序更安全
5.gcc的分步编译(笔试)
    gcc ***.c ---->本质上计算机执行4步
    
    ESc    .iso
    预处理---》编译---->汇编---》链接
    预处理:展开头文件,删除注释,替换宏,生成.i文件
    gcc -E ***.c -o ***.i
    编译:检查语法的正确性,生成.s(汇编)
    gcc -S ***.i -o ***.s
    汇编:把汇编文件转换为二进制文件.o(目标文件)
    gcc -c ***.s -o ***.o
    链接:把二进制文件转换为可执行文件(二进制文件)
    gcc ***.o -o hello
    执行
    ./hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值