# linux基础命令概括

linux基础命令

1.APT

​ 是ubuntu中功能最强大的命令行软件包管理工具,用于获取、安装、编译、卸载和查询软件包,

​ 以及检查软件包依赖关系

​ 工作原理:

​ /etc/apt/sources.list

​ sources.list用来指定ubuntu的软件源服务器的地址

​ 修改源:

​ 自己从网上找一个适合的sources.list,对应版本,替换掉就可以了

​ 也可以在应用程序了里面软件和更新里面自行设置

​ 我已经找到一个sources.list:/mnt/hgfs/share

​ sudo cp /mnt/hgfs/share/sources.list /etc/apt/sources.list

​ 关于apt有几个常用命令:

​ sudo apt-get update

​ 下载更新软件包列表的信息

​ 服务器上有哪些软件我是不知道的,但是我们可以通过这个指令去查看

​ sudo apt-get install 要安装的软件名

​ sudo apt-get install make

​ sudo apt-get upgrade:将系统中的所有软件包升级到最新版本

​ sudo apt-get remove 要卸载的软件名字

2.vi/vim

​ vi和vim是linux里面最基本、最常用、功能最强大的命令行编辑器。

​ vim是vi的升级版

​ vi有两种模式:

​ 命令模式:键盘所输入的字符都当做是命令

​ 输入模式:键盘输入的字符都当做是文本内容

2.1命令模式-》输入模式:

​ i/I: insert

​ i:进入输入(Insert)模式后,光标不动

​ I:进入输入(Insert)模式后,光标出现在行首

​ a/A: append

​ a:进入输入模式后,光标往后移一个字符

​ A:进入输入模式后,光标移动到行末

​ o/O: open

​ o:进入输入模式后,会新开一行,开在光标的下一行

​ O:进入输入模式后,会新开一行,开在光标的上一行

​ 退出输入模式:输入模式-》命令模式

​ ESC键

2.2vi的退出命令:

​ :q quit

​ 不保存的退出–》可能会询问是否保存

​ :q!

​ 强制退出–》不保存的退出

​ :w write

​ 写入、保存

​ :w filename

​ :w 2.txt 另存为

​ :wq

​ 保存并退出

​ :x

​ 保存并退出

2.3vi的删除与修改指令

​ x

​ 删除光标所在的字符

​ dd delete

​ 删除光标所在的行

​ ndd

​ 删除光标及以下的n行

​ dd和ndd是剪切

​ r replace

​ 替换光标所在的单个字符

​ r + 要替换的单个字符

​ R

​ 替换光标及后面的多个字符,替换多少个随便你,直到你按ESC退出替换

2.4vi的拷贝与粘贴指令

​ yy

​ 将当前行的内容复制到剪贴板中去

​ p(小写)

​ 将剪贴板的内容粘贴到当前行的后面

​ P(大写)

​ 将剪贴板的内容粘贴到当前行的前面

2.5vi的撤销指令

​ u(小写)

​ 撤销指令

2.6vi的搜索命令

​ /要搜索的内容

​ n next

​ 找下一个要匹配的内容

​ N

​ 反向搜索下一个要匹配的内容

2.7vi的替换命令

​ s 替换

​ 格式–》 :{作用范围}s/{目标}/{替换}/{替换标志}

​ 作用范围:

​ 不指定 就是当前行

​ % 全文

​ 选区 5,12 5-12行

​ .,+2 当前行到接下来的两行

​ 替换标志:

​ g:全局替换,所有出现的目标都替换

​ i : 忽略大小写

2.8vi的其他的指令

​ :set nu 显示行号

​ :set nonu 不显示行号

​ j 光标往下移动

​ h 光标往左移动

​ k 光标往上移动

​ l 光标往右移动

​ :行号 光标跳转到那一行

​ :$ 光标跳转到文件末尾

​ :sp filename 上下分割并打开一个新文件

​ :vsp filename 左右分割并打开一个新文件

​ ctrl+z 挂起 --》fg回到vi界面

​ ctrl+s 锁定 —》解除锁定 ctrl + alt + q

​ ctrl + alt + t 快捷打开终端

3.文件系统相关命令

​ 文件系统:

​ 用来管理文件的一套组织方法及软件系统

​ 文件:由两部分组成

​ 文件属性 —》 inode

​ inode是唯一标识一个文件存在的东西

​ 文件名、文件大小、文件类型、最近修改时间、创建时间…

​ 文件内容

​ linux文件系统树状结构:

​ linux下面的文件组织方式是以“根目录” – / 开始的

​ 根目录下面也可以有目录,也可以有文件

​ 目录下面也有目录,也可以有文件

​ …

​ 上述这种结构,树状结构

​ 绝对路径:

​ 以根目录 / 开始的路径,称之为绝对路径

​ 如: cd /mnt/hgfs/share

​ 第一个/ 代表根目录

​ 后面的/ 代表分隔符

​ 相对路径:

​ 不是以根目录 / 开始,以当前的路径为参照,称之为相对路径

​ 如:cd ./test

​ .代表当前目录

​ 如果你没有这个 . 或者 … 默认是当前路径

​ linux基础指令:

​ pwd:把当前的绝对路径显示出来

​ cd:

​ change directory 切换目录

​ 语法:

​ cd 要切换到的目录

​ cd 什么也不接

​ 用户的主目录

​ ls: list 列举的意思

​ ls用来列举一个目录下面的所有文件/目录名

​ 语法:

​ ls {带路径的目录名} [options]

​ options:

​ -a:all 列举所有的文件名 包括隐藏文件 . …

​ -l:list 列举所有的文件的详细信息

​ 如果你省略–带路径的目录名 : 就默认显示当前目录下的文件信息

​ 注意:某些目录下你是没有权限去查看/创建目录/文件

​ 一般来说你在home目录下是有绝对的权限

​ mkdir: make directory 创建空目录

​ 语法:

​ mkdir {-p} 带路径的目录名

​ 示例:

​ mkdir ./lsq //在当前目录下创建一个名字叫lsq的目录

​ mkdir /mnt/hgfs/share/lsq //在/mnt/hgfs/share目录下创建一个名字叫lsq的目录

​ p: parent

​ 如果要创建的目录上面的某一级目录不存在,则一并创建,只要有权限

​ 示例:

​ mkdir lsq/ls/q //假设lsq下面的ls目录不存在

​ 那么你不想一个一个创建可改成— mkdir lsq/ls/q -p

​ rmdir:删除一个空目录

​ rm:删除一个目录/文件

​ 语法: rm [options] [DEST]

​ DEST:要删除的目标文件,既可以是普通文件,也可以是目录

​ options:

​ -r:递归删除

​ 如果DEST是个目录, rm -r就是递归删除 删除该目录及目录下所有文件

​ -f: force 强制

​ 不会去询问你是否删除该目录,直接删除,非交互

​ 示例:

​ rm lsq -rf

​ 最有名的rm指令: sudo rm /* -rf

​ cp: copy拷贝

​ cp [options] [source] [DEST]

​ source:源 拷贝的源文件

​ DEST:目标 拷贝出来的文件

​ 源和目标既可以是普通文件也可以是目录

​ options:

​ -r/R 递归拷贝 如果你拷贝的是目录就需要用

​ -f 非交互模式拷贝

​ 示例:

​ cp ./1.txt ./2.txt

​ cp ./lsq …/ -r //拷贝当前目录下的lsq目录到上一级目录

​ skills:

​ 通配符 *

​ ./*.c ==》代表当前目录下所有的以.c结尾的文件

​ mv : move 移动

​ 语法:

​ mv source dest

​ 你要把source指代的那个文件移动到dest

​ 示例:

​ mv ./1.txt …/1.txt 移动文件

​ mv ./lsq …/lsq 移动目录

​ mv 1.txt 2.txt //把1.txt文件的名字改成2.txt

​ 文件的归档与压缩:

​ 归档:将一组文件/目录保存在一个文件中(打包),最终文件的大小等于打包前全部文件的和

​ 压缩:经过一定的压缩算法,把打包好的文件压缩成一个压缩包

​ tar

​ 语法: tar [options] tarfile filelist

​ options:

​ -x:释放一个归档文件

​ -c:创建一个归档文件

​ -v:显示归档/释放的过程信息

​ -f:指定归归档文件的名称

​ -j:由tar生成归档文件,bzip2压缩

​ -z:由tar生成归档文件,gzip压缩

​ 压缩指令:

​ tar -zcvf xxx.tar.gz filelist

​ 将filelist指定的文件列表用gzip这种压缩算法生成一个压缩文件,名字:xxx.tar.gz

​ tar -jcvf xxx.tar.bz2 filelist

​ 将filelist指定的文件列表用bzip2这种压缩算法生成一个压缩文件,名字:xxx.tar.bz2

​ 解压指令:

​ tar -xvf xxx.tar.gz/(xxx.tar.bz2) {-C 指定你要解压到哪个目录下}

​ chmod: change mode 修改文件的权限

​ 文件权限对于某个组/用户来说:

​ r:read 可读

​ w:write 可写

​ x:execute 可执行

​ 每个文件都会针对三组不同的用户:

​ user:文件属主用户

​ group:文件用户组内的用户

​ other:其他用户

​ 在描述一个文件的权限时: ls -l可以查看文件的权限

​ rwx rwx rwx

​ user group other

​ rw- r-- r–

​ 这个权限:对于user用户来说,具备可读可写 但是不可执行

​ 对于同组用户来说,具备可读权限,但是不可修改以及不可执行

​ 对于other用户来说,具备可读权限,但是不可修改以及不可执行

​ rwx 可以看成一组八进制数

​ 7 ===》 111 ==》 rwx

​ 6 ===》 110 ==》 rw-

​ 4 ===》 100 ==》 r–

​ 0 ===》 000 ==》 —

​ chmod语法:

​ chmod 用户 +/- rwx 文件名

​ 示例:

​ chmod u+x 1.txt 将1.txt中的user用户加上可执行权限

​ chmod g-r 1.txt 将1.txt中的组用户减去可读权限

​ chmod +x 1.txt 给1.txt的所有用户加上可执行权限

​ 我们也可以用八进制的形式给文件赋予权限:

​ chmod 0777 1.txt

​ 相当于将1.txt中的所有用户以所有权限

​ touch:用来创建一个普通文件

​ 示例:touch 1.txt

​ stat 查看某个文件的具体属性信息:比ls -l更详细

​ 示例:stat 文件名

​ cat:将文件中的信息打印到终端

​ 示例:cat 1.txt

​ echo: 打印对应的字符串

​ 示例:echo “123”

​ echo 123

​ echo ‘123’

​ echo “$HOME 123” //HOME为环境变量

​ echo “123\n”

​ echo 后面可以接两个选项:

​ -e:将双引号内的字符串中\字符当做转义字符, 没有-e,则\n视为普通字符

​ -n:将echo后面的换行符去掉

​ 链接:软链接和硬链接

​ 文件属性: inod 作为文件存在与否的唯一标识

​ 文件内容

​ 硬链接:

​ 为文件新创建一个inode,inode指向对应的文件内容

​ 如果一个文件的所有硬链接都没有,那么这个文件再也就不会被识别到了—身死道消

​ 如果一个文件有多个硬链接,只要留下一个那么他依然是满血的,还存在还可以找到它

​ 语法:

​ ln target link_name

​ 为target这个目标创建一个link_name的硬链接

​ ln 1.txt 2.txt

​ 软链接:(符号链接)

​ 语法:

​ ln -s target link_name

​ 为target这个目标创建一个名字为link_name的软链接,软链接的形式有点像快捷方式,

​ 软链接里面保存的是目标文件的路径名,他并没有为目标文件创建一个硬链接

​ 如果删除软链接对指向文件本身并没有影响,但是如果删除的是软链接指向的硬链接

​ 则该软链接无效

​ 注意:不能在共享文件夹中使用链接

4.基本的系统命令

​ man manual手册

​ linux系统会为每个命令、每个系统函数、标准库函数,写一个文档(手册),方便用户查找

​ 手册分为很多章节,不同的分类

​ man 用来查询一个指定 名字 相关的手册/信息

​ 语法:

​ man -f 你要查询的名字

​ 可以将该名字所在的章节信息输出到终端

​ man 章节数 要查询的名字

​ 可以进入man手册的那个章节那个名字处查看对应的信息

​ 进入man手册之后按q退出

​ shutdown 关机命令

​ shutdown -h 0 关机

​ reboot 重启

​ sudo

​ sudo rm lsq -r //以超级用户的权限去删除lsq这个目录

​ 用超级管理员用户权限去执行命令

​ sudo -s 进入root用户 输入指令之后就是最高权限用户

​ 退出超级用户:exit

​ su username 切换到username对应的目录

​ root用户:

​ linux/UNIX系统下至高无上的用户,对一切文件拥有最高权限

​ passwd [username] 为username对应的用户修改密码,如果没有指定用户名,默认为当前用户

​ clear 清屏指令 ctrl + l 快捷键也是清屏

​ 上下左右键调回你之前使用过的指令

5.用户管理

​ /etc/passwd

​ 用来保存用户信息的

​ 用户名/口令(密码)/用户ID(UID)/用户主目录(HOME)/用户shell

​ /etc/group

​ 用户组信息

​ 组名/加密的口令/组ID(GID)/成员列表

​ 添加一个普通用户:

​ adduser username 创建一个名字为username的普通用户

​ userdel username 删除一个名字为username的普通用户

​ groupadd groupname 创建一个名字为groupname的组用户

​ groupdel groupname 删除一个名字为groupname的组用户

​ useradd -g 组名 用户名 将用户加入组

6.进程管理

​ ps process status 列出系统中进程的信息

​ 如:ps

​ -e: everyone 每一个进程

​ -f:full 全部

​ ps -ef :列出每一个进程的全部信息

​ kill 发送 //干掉某个进程

​ kill -9 pid

​ killall 进程名: 杀死同一进程组的所有进程

​ killall madplay

​ top 动态显示cpu的实时占有率

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值