Ubuntu终端常用命令从入门到入土

1.终端

方式1:通过鼠标左键点击终端图标。

方式2:使用快捷键 Ctrl Alt T 打开一个新终端。

方式3:使用快捷键 Ctrl Shift N 打开一个同路径新终端。

方式4:使用快捷键 Ctrl Shift T 打开一个同路径新终端(同一个终端中的多个标签)

终端字体调整

放大:Ctrl Shift +

缩小:Ctrl -

复制粘贴

复制:Ctrl Shift C

粘贴:Ctrl Shift V

命令行提示符说明

linux@ubuntu:~$

linux                当前使用的用户

@                    分隔符

ubuntu             主机名

:                     分隔符

~                       当前所在的路径

$                       表示当前用户的权限

linux文件系统的结构说明

linux的路径间用 / 分割

绝对路径和相对路径

绝对路径:相对与根目录的路径

如: /home/linux/目录1/文件11

相对路径:相对于当前所在路径的路径 ./ 表示当前路径 ../ 表示上一级路径

如:./目录1/文件11 表示操作当前路径下的目录1下的文件11

        ../文件1 表示操作上一级目录下的文件1

1.linux常用命令

ls命令

ls                列出当前路径下的所有文件

ls 文件名    如果是文件名是普通文件、就显示该文件名,如果是目录文件,就会显示目录下的内容

ls  -a            列出当前路径下的所有文件以及隐藏文件(以.开头的文件是隐藏文件)

ls  -l             列出当前路径下的所有文件,并显示文件的详细信息

ls  -lh           列出当前路径下的所有文件 并以 K M G 等单位显示文件的详细信息

ls  -lah  ../../       查看上一级的上一级目录下的所有文件以及隐藏文件并以 K M G 等单位显示文件的详细信息

        文件的详细信息说明:

                -rw-rw-r-- 1 linux linux 28 10月 28 11:47 file.txt

                -     文件的类型,linux系统文件类型 (bsp-lcd)

                        b   块设备文件

                        s   套接字文件

                        p   管道文件

                        -   普通文件

                        l   小写的L 链接文件

                        c   字符设备文件

                        d   目录文件

        rwxrw-r--   文件的权限,分为三组(所属用户、所属组、其他人的权限) 每组都是 rwx

                        r    读权限

                        w   写权限

                        x    执行权限

                         如果没有权限显示的就是 -

                1               文件的硬链接个数

                linux         文件的所属用户

                linux         文件的所属组

                28             文件的大小 单位是 字节-Byte

                                        常用存储大小表示:

                                         1Byte = 8bit

                                           1KB = 1024B

                                           1MB = 1024KB

                                           1GB = 1024MB

                                            1TB =1024GB

                  10月 28 11:47        文件最后一次被修改的时间

                   file.txt         文件名

cd命令

cd  目录名       进入指定的目录

cd  ~                进入用户的家目录 也可以直接 cd 回车

cd  /                 进入根目录

cd  .                 进入当前目录

cd  ..                进入上级目录

cd  -                 进入上一次所在的目录

whoami 命令

显示当前使用的用户名

pwd 命令

显示当前所在的绝对路径

mkdir 命令

mkdir  dir1                            在当前目录下创建一个目录文件 名为dir1

mkdir  ~/dir2                         在当前用户的家目录下创建一个目录文件 名为dir2

mkdir  ../dir3                         在上一级目录下创建一个目录文件 名为dir3

mkdir  dir4 dir5 dir6             在当前路径下并列创建三个目录文件 分别名为 dir4 dir5 dir6

mkdir  -p dir7/dir8/dir9         在当前目录下以嵌套的方式创建 dir7/dir8/dir9

touch 命令

touch file         如果文件file不存在 表示新建一个普通文件 名为file

如果文件file已经存在 表示更新文件的时间戳(文件最后修改的时间)

rm 命令

rm file                               删除指定的文件

rm -r dir                            如果删除的是一个目录需要加 -r 选项

rm -f file                           忽略提示信息 直接删除

rm -rf 目录名/文件名        删除目录和文件时忽略提示信息直接删除

cp 命令

cp file1 file2            如果文件file2不存在 表示将file1 复制一份取名为file2

如果文件file2已存在 表示将file1 复制一份取名为file2 覆盖原来的file2

cp file dir                 如果目录dir中没有名为file的文件 表示将文件file复制一份放到目录dir中去

如果目录dir中已有名为file的文件 表示将文件file复制一份放到目录dir中去

并覆盖原来的file

cp -r dir1 dir2           如果目录dir2不存在 表示将目录dir1复制一份取名为dir2

如果目录dir2已经存在 表示将目录dir1复制一份放到目录dir2里面

mv 命令

mv file1 file2              如果文件file2不存在 表示将file1重命名为file2

如果文件file2已存在 表示将file1重命名为file2 覆盖原来的file2

mv file dir                    如果目录dir中没有名为file的文件 表示将文件file移动到目录dir中去

如果目录dir中已有名为file的文件 表示将文件file移动到目录dir中去

并覆盖原来的file

mv dir1 dir2                 如果目录dir2不存在 表示将目录dir1重命名为dir2

如果目录dir2已经存在 表示将目录dir1移动到目录dir2里面

c文件编译命令

gcc xxx.c xxx.c                             是你自己的.c文件名

gcc xxx.c -o diy_name xxx.c        是你自己的.c文件名 diy_name 是你想生成的可执行文件名

gcc 编译C程序的流程 : 预处理--》编译--》汇编--》链接

gcc -E xxx.c -o xxx.i                删除注释、展开头文件、替换宏定义

gcc -S xxx.i -o xxx.s                生成汇编文件

gcc -c xxx.s -o xxx.o               将汇编文件生成二进制的目标文件

gcc xxx.o -o a.out                   链接对个目标文件以及库文件,生成最终的可执行文件

其他指令

clear                 清屏 使用快捷键 Ctrl l

su  用户名        切换到指定的用户 需要密码 如 su root 切换到root用户

exit                   如果涉及到用户切换 表示退回到上一个用户

如果已经是最开始的用户了 再执行 exit 表示关闭整个终端

tab键补全         tab键可以用来补全命令或者文件名

查看Ubuntu版本:cat /etc/issue

查看内核版本:uname -a

链接文件

创建软链接文件的方式:

ln -s 被链接的文件 要生成的链接文件

创建软链接文件的方式:

ln 被链接的文件 要生成的链接文件

磁盘相关的命令
查看系统中的磁盘信息

sudo fdisk -l

查看磁盘的使用率

df -h

挂载磁盘的命令

挂载

sudo mount 设备名         要挂载的目录

解除挂载

sudo umount 设备名

指定磁盘的类型

FAT32 不能存储单个的超过4G的文件    sudo mkfs.fat 设备名

NTFS 可以存储单个的超过4G的文件     sudo mkfs.ntfs 设备名

查看文件内容的命令

cat 命令

cat 文件名             显示文件内容所有内容

cat -n 文件名         带行号显示文件所有内容

head 命令

head 文件名                     显示文件开头的内容 默认显示前10行

head -n 5 文件名              显示文件前5行内容

head -5 文件名                 显示文件前5行内容

tail 命令

tail 文件名                                       显示文件结尾的内容 默认显示后10行

tail -n 5 文件名                                显示文件后5行内容

tail -5 文件名                                   显示文件后5行内容

| 管道符:作用是将前面命令的结果作为后面命令的参数

head -n 100 file | tail -n 10               查看文件第91-100行的内容

head -n 210 file | tail -n 5                  查看文件第206-210行的内容

tail -f 文件名                                      动态的显示文件内容新增的情况

检索文件内容的命令--grep

基本用法:

grep "string" file         在文件file中检索所有包含string的行

grep命令常用选项:

-n                    带行号显示

-i                     忽略大小写

-w                    精确查找 单词必须独立出现 有前缀和后缀都不行

-v                     反选 检索不包含指定单词的行

-R                    递归检索,可以查找子目录下的文件中的内容

常用的用法:

grep -nR "hqyj" *         在当前目录及子目录下的所有文件中检索包含hqyj的行

关于grep的字符串的写法:

"^string"                   检索以string开头的行

"string$"                  检索以string结尾的行

"^string$"                 检索string独立成行的行

查找文件的命令--find

根据名字查找

find 路径 -name file                            在指定的路径及子目录下查找所有名为file的文件

例如:

find /home/linux/dir -name a.c            在/home/linux/dir及子目录下查找所有名为a.c的文件

find ./ -name a.c                                 在当前目录及子目录下查找所有名为a.c的文件

根据类型查找

find 路径 -type 类型                             在指定的路径及子目录下查找所有指定类型的文件

        类型: bspflcd

例如:

find ./ -type f                                         在当前目录及子目录下查找所有普通文件

find /home/linux -type d                        在/home/linux及子目录下查找所有目录文件

find ./ -type f | grep "\.c$"                      当前目录及子目录下所有.c结尾的文件

文件权限管理

修改文件权限的方式--chmod

注意:只有文件的所属用户和root用户可以修改文件的权限
 

文件的权限

rwxrw-r--

文件共有三组权限 分别对应 所属用户的权限 所属组的权限 其他人的权限

每组权限有三个:

r                                 读权限

w                                写权限

x                                 执行权限

-                                  没有对应的权限

使用 + / - 的方式修改

u                         所属用户 user

g                         所属组 group

o                         其他人 other

a                         所有人 all

例如:

chmod u+r 文件名                  将文件对所属用户的权限加上一个读权限

chmod g-w 文件名                  将文件对所属组的权限减去一个写权限

chmod o+w 文件名                 将文件对其他人的权限加上一个写权限

chmod a+x 文件名                  将文件对所有人的权限都加上一个执行权限

使用八进制数来修改

linux 系统使用三位八进制数来表示文件的权限

rwxrw-r-- 0764

r-----rw- 0406

rwxrwxrwx 0777

chmod 0777 文件名                 将文件的权限设置成 rwxrwxrwx

chmod 0664 文件名                 将文件的权限设置成 rw-rw-r--

chmod 0765 文件名                 将文件的权限设置成 rwxrw-r-x

通配符

*

通配任意长度的任意字符

原有文件:

a.c a.txt b.c b.txt c.c d.c file1.c file3.c kaimen.c

A.c A.txt B.c B.txt C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls *.c 结果为:

a.c b.c c.c d.c file1.c file3.c kaimen.c

A.c B.c C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls *.txt 结果为:

a.txt A.txt b.txt B.txt

执行 ls k* 结果为:

kaimen.c ksakjdhfkjashdf.c

?

通配一个长度的任意字符

原有文件:

a.c a.txt b.c b.txt c.c d.c file1.c file3.c kaimen.c

A.c A.txt B.c B.txt C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls ?.c 结果为:

a.c A.c b.c B.c c.c C.c d.c D.c

执行 ls ?????.c 结果为:

file1.c file2.c file3.c file6.c

[字符1字符2..字符n]

通配[]里面的任意一个字符

原有文件:

a.c a.txt b.c b.txt c.c d.c file1.c file3.c kaimen.c

A.c A.txt B.c B.txt C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls [acBxyz].c 结果为:

a.c B.c c.c

[起始字符-结束字符]

通配起始字符到结束字符之间的任意一个字符

原有文件:

a.c a.txt b.c b.txt c.c d.c file1.c file3.c kaimen.c

A.c A.txt B.c B.txt C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls file[2-5].c 结果为:

file2.c file3.c

执行 ls [a-c].c 结果为:

a.c b.c c.c

[^字符1字符2..字符n]

通配除了[]里面的任意一个字符

原有文件:

a.c a.txt b.c b.txt c.c d.c file1.c file3.c kaimen.c

A.c A.txt B.c B.txt C.c D.c file2.c file6.c ksakjdhfkjashdf.c

执行 ls [^AaB].c 结果为:

b.c c.c C.c d.c D.c

常用的用法:

grep -nR "hqyj" *         在当前目录及子目录下的所有文件中检索包含hqyj的行

关于grep的字符串的写法:

"^string"                   检索以string开头的行

"string$"                   检索以string结尾的行

"^string$"                 检索string独立成行的行

查找文件的命令--find

安装软件命令

.deb (Ubuntu使用)

离线安装

需要有安装包,不需要Ubuntu联网

不会检查软件的依赖,如果有依赖的话,需要自己额外安装

安装软件

sudo dpkg -i         软件包路径和名字

查看软件的使用方式

运行软件                       直接敲软件名即可--》如终端输入 firefox 打开火狐浏览器

man                                                 软件名

sudo dpkg -l(小写的L) 软件名          查看安装的软件的信息

sudo dpkg -L 软件名                        查看软件的安装路径

sudo dpkg -r 软件名                         卸载软件(会保留配置文件)

sudo dpkg -P 软件名                        完全卸载

在线安装

需要Ubuntu联网,不需要有安装包

会检查软件的依赖,如果有依赖,会一并安装到系统中

测试自己的Ubuntu是否联网: ping mp.csdn.net

注意:服务器中有每个软件仓库的地址

由于用户所在的地理位置不同,选择不同的服务器下载速度也不同

用户下载软件,应该先选择一个适合自己的服务器。

选择服务器的流程:

点击屏幕左下角的 显示应用程序---》软件更新器----》设置----》Ubuntu软件选项卡----》

----》所有的复选框都勾选(尤其是源代码这一项)---》点击下载自后面的下拉箭头----》

----》其他----》选择合适的服务器---》选择服务器----》关闭---》关闭

选择成功后 会在 /etc/apt/sources.list 文件中显示选择的镜像服务器的地址

更新本地源:将服务器上的软件的索引信息同步到自己的本地

sudo apt-get update

/var/lib/apt/lists 目录中保存的就是同步过来的索引信息

安装软件

sudo apt-get install 软件名

sudo apt-get download 软件名           只下载不安装

sudo apt-get source 软件名                下载源代码

sudo apt-get remove 软件名                卸载软件

sudo apt-get clean                               清理安装包

安装包会残留在 /var/cache/apt/archives 目录下 clean就是删除该目录下所有 .deb 结尾的文件

一些linux中的小软件

sudo apt-get install cmatrix //代码雨

压缩和归档的命令

压缩方式:

gzip

bzip2

xz

归档的同时进行压缩:

tar -zcvf xxx.tar.gz xxx         归档并按gzip格式压缩

tar -zxvf xxx.tar.gz                  解压缩并解归档

tar -jcvf xxx.tar.bz2 xxx         归档并按bzip2格式压缩

tar -jxvf xxx.tar.bz2                 解压缩并解归档

        

tar -Jcvf xxx.tar.xz xxx         归档并按xz格式压缩

tar -Jxvf xxx.tar.xz                  解压缩并解归档

通用的解压缩并解归档的命令(三种格式都可以)

tar -xvf xxx.tar.gz                     解压缩并解归档

环境变量

常见的环境变量

HOME                 保存当前使用的用户的家目录

PWD                    保存当前所在的路径

OLDPWD             保存上一次所在的路径

SHELL                  保存的当前用户使用的默认的命令行解析器

PS1                       保存命令行提示符显示的内容及配色方案的

PATH                     保存可执行文件路径

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

声明环境变量的方式

export 环境变量名=环境变量值                         ----覆盖写

export 环境变量名=$环境变量名:新的值            ----追加写

只对当前终端生效

直接在终端执行命令 export 环境变量名=环境变量值        立即生效

对当前用户生效

~/.bashrc  文件中存放当前用户每次打开终端要执行的脚本        可以将有效语句添加到该文件中

执行命令 source ~/.bashrc 立即生效

对系统中的所有用户生效

/etc/profile文件中存放所有用户打开终端要执行的脚本                可以将有效语句添加到该文件中

执行命令 source ~/.bashrc 立即生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值