@[TOC]
一、Linux基础命令
1、操作系统
- 直接运行在计算机上的系统软件,是控制硬件和支持软件运行的计算机程序
- 向下控制硬件;向上支持软件
2、虚拟机软件
虚拟机软件是用来快速学习一个新的操作系统3、Ubuntu 操作系统
1、Linux系统
- Ubuntu
- Centos
- RedHat
2、Linux主要目录,没有盘符
- / : 根目录
- /bin :可执行二进制文件的目录
- /etc :系统配置文件存放的目录
- /home :用户家目录
4、Linux内核
- 内核是操作系统内部操作和控制硬件设备的核心程序
- 真正的操作和控制硬件是由内核来完成的,操作系统是基于内核开发出来的
5、查看目录命令
- ls :查看当前目录信息
- tree :以树状方式显示目录信息
- pwd :查看当前目录路径
- clear :清除终端内容
快捷键
- ctrl + shift + ‘+’ :窗口变大
- ctrl + ‘-’ :窗口变小
- ctrl + alt + t :快速启动终端
- 一次tab键自动补全
- 两次tab键查看可切换的目录
6、切换目录命令
- cd 目录 :切换到指定目录
- cd - :切换到上一次目录
- cd ~ :切换到当前用户的主目录(等价于cd 后面不写目录)
- cd .. :切换到上一级目录
- cd . :切换到当前目录
- cd ../.. :切换到上一级目录的上一级目录
注:以圆点(·) 开头的文件名是隐含文件,默认方式下使用 ls
命令并不能把它们显示出来
7、创建、删除文件及目录命令的使用
- touch 文件名:创建指定文件
- mkdir 目录名:创建目录(文件夹)
- rm 文件名 / 目录名:删除文件 / 目录
- rm
- -i :交互式提示,询问是否删除(y 同意,n不同意)
- -r :递归删除目录及其内容
- -f :强制删除,忽略不存在的文件,无需提示
- -d :删除空目录
- rmdir 目录名:删除空目录(或 rm -d 空目录)
- rm 目录名 -r :删除非空目录
8、复制、移动文件及目录命令
- cp 1.txt AA:拷贝1.txt至AA文件夹中
- cp AA/1.txt BB/DD:拷贝AA下的1.txt 至DD中
- cp 1.txt ./11.txt :拷贝至当前文件夹下
- cp AA CC -r :拷贝AA文件夹至CC文件夹下
- cp
- -i :交互式提示,询问是否覆盖(y同意,n不同意)
- -r :递归拷贝目录及其内容
- -v :显示拷贝后的路径描述
- -a :保留文件的原有权限
- mv 11.txt CC:移动11.txt至CC文件夹下
- mv AA BB:移动AA文件夹至BB,当BB文件夹不存在时,等价于重命名AA为BB
- mv 3.txt 33.txt:重命名3.txt 为 33.txt
9、终端命令格式的组成
command [-options] [parameter]
- command :命令名。比如 ls pwd
- options :选项,可以有0个或多个,多个选项可合并,比如 -r 就是选项
- parameter :参数,可以有0个或多个,比如 touch 文件名,mkdir 目录名,这些文件名和目录名都是参数
- [] :表示可选
选项:调整命令的功能 - 短选项的格式,'-' 后面接单个字母,例如 -r
- 长选项的格式,'--' 后面接单词,例如 --help
注:scp 选项 参数 // 表示远程拷贝,格式固定10、查看命令帮助
- rm --help :查看rm的命令帮助
- man rm :查看rm的命令帮助
- F:下一页
- B:上一页
- 回车:查看下一行
- Q:退出查看
二、Linux高级命令
1、重定向命令
1.1、定义
重定向又叫输出重定向,把在终端执行命令的结果保存到目标文件
1.2、命令使用
命令 | 说明 |
---|---|
> | 如果文件存在会==覆盖==原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会==追加==写入文件末尾,相当于文件操作中的‘a’模式 |
例:ls > cc/info.txt :将终端显示的内容写入 cc/info.txt文件中
2、查看文件内容命令
- cat :查看小型文件
- more :分屏查看大型文件
- cat 1.txt 2.txt :可同时查看多个小型文件
- cat 1.txt 2.txt > 3.txt :将1.txt与2.txt文件合并后写入3.txt中
- gedit 1.txt :对1.txt 文件进行查看(并可修改其中内容)
3、管道(|)命令的使用
- 管道:一个命令的输出可以通过管道作为另一个命令的输入,可以理解为一个容器,存放在终端显示的内容
- 管道一般结合 more 命令使用,主要是分配查看终端显示内容
4、链接命令(l)
4.1、软链接
- 软链接类似于windows下的快捷方式,当一个源文件的目录层级比较深,想方便使用它可以给源文件创建一个软链接
- ln -s 2.txt 2-s.txt :给2.txt创建软链接为2-s.txt,‘2-s.txt’为自己的绝对路径
4.2、硬链接
- 硬链接类似于源文件的一个别名,这两个名字指向的是同一个文件数据,防止文件中的数据丢失,相当于一个文件的两个名字
- ln -s 2.txt 2-s.txt :
- 删除源文件,不会影响硬链接文件,因为硬链接不会依赖源文件,直接指向的是文件中的数据
- 目录文件夹下不可创建硬链接
- 硬链接的创建使用路径没有要求
5、文本搜索命令 grep
- 在文本中使用 ctrl + F
- grep “关键字” 文件名
- 命令 | 说明
-------- | -----
-i | 忽略大小写
-n | 显示匹配行号
-v | 显示不包含匹配匹配文本的所有行(对搜索内容进行取反) - 结合正则表达式的使用
- ^ :以指定字符串开头,‘^a’
- $ :以指定字符串结尾,‘$k’
- . :匹配一个非换行符的字符,grep ‘k.f’ 2.txt -n
- 结合管道符使用
ls /bin | grep "sh" :查找bin目录下含有sh的文件 - 在使用 grep 命令时可省略搜索内容的引号
6、查找文件命令
- name ,根据文件名(包括目录名)字查找
- 模糊搜索,由通配符 * 代表0个或多个任意字符,?代表任意一个字符
- find . -name " *.txt " :通配符不仅能结合find命令使用通配符,需要加引号
7、压缩和解压缩命令
- Linux默认支持的压缩格式:.gz,.bz2,.zip
- .gz和.bz2 使用tar命令压缩和解压搜
- .zip的压缩包需要使用 zip 命令来压缩,使用unzip命令解压缩
- tar命令,tar -zxvf test.gz *.txt :把所有 .txt 文件打包为 test.gz
- -c :创建打包文件
- -v :显示打包或者解包的详细信息
- -f :指定文件名称,必须放到所有选项后面
- -z :压缩或解压缩(.gz)
- -j :压缩或解压缩(.bz2)
- -x:解包,tar -zxvf test.gz
- -c :解压缩到指定目录
- zip和unzip命令
- -d :解压缩到指定目录
- zip test.zip *.txt :将所有.txt文件压缩为 test.zip
- unzip test.zip -d AA :解压到AA目录下
- 压缩文件使用.gz 格式占用的空间较少,.zip较通用,操作简单
8、文件权限命令 chmod
1、字母法
- u-user :改文件的所有者
- g-group :用户组
- o-other :其他用户
- a-all :所有用户
2、数字法
- r - 可读 - 4
- x - 可执行 - 1
- w - 可写 - 2
- -无任何权限 - 0
- 例如:chmod 644 1.txt:u—可读可写=6,g—可读=4,o—可读=4
9、获取管理权限的相关命令
- sudo -s :切换到root命令,获取管理员权限。只有创建了附加组之后才可使用sudo -s
- whoami :显示当前用户
- exit :退出当前用户回到普通用户
- which ls :查看ls命令所放的目录
- passwd :修改当前用户的密码
- who :查看当前用户被使用的人的地址,查看所有登录用户
- shutdown -h now :立刻关机
- reboot : 重启
10、用户相关操作
- sudo useradd -m laowang:自动创建用户主目录,主目录的名字laowang就是用户名
- cat /etc/passwd :查看所有用户信息
- sudo passwd laowang :给laowang用户设置密码
- su - laowang :切换用户
- id laowang :查看laowang的所属id
- sudo usermod -G sudo laowang :给用户设置附加组。一个用户只可以有一个用户组,可以有多个附加组
- sudo gpasswd -d laowang sudo :删除附加组
- sudo userder -r laowang :删除用户信息;前提是需要退出laowang用户,默认会删除同名的用户组
11、用户组相关操作
- sudo groupadd test :创建用户组
- grep test /etc/group
- sudo groupadd -m -g test laowang :创建用户并制定用户组,test为主组
- id laowang
- sudo usermod -g abc laowang :修改用户组
- id laowang
- sudo group test :删除用户组
- grep test /etc/group
- sudo groupdel abc :如果用户组下有用户,先删除用户再删除组
12、远程登录、远程拷贝命令
- ssh 用户名@IP地址:远程登录
- scp :远程拷贝
- apt list | grep 安装的软件名 ,查找制定软件是否安装
- apt list :查看电脑安装的所有程序
- sudo apt-get install openssh-serve :Ubuntu作为服务端,安装ssh 服务端软件
- sudo apt-get install openssh-client :安装 ssh 客户端命令
三、编辑 Vim
- vim 11.txt :进入编辑器的命令模式
- :w :保存
- :wq :保存并退出,或 :x
- :q! : 强制退出,不保存
- 命令 | 说明
-------- | -----
yy | 复制光标所在行|往右缩进
<< | 往左缩进
.| 重复上一次命令
p | 粘贴
dd | 删除或剪切当前行
V | 按行选中
G|回到最后一行
gg | 回到第一行
u | 撤销
ctrl + r | 反撤销
数字 + G | 回到指定行
shift + 6|回到当前行的行首
shift + 4 | 回到当前行的行末
ctrl + f | 下一屏
ctrl + b|上一屏
V+G|全选
四、其他命令
- init 0 :系统关机
- init 6 :重新启动系统
- head -n 8 文件名 :查看前8行内容
- tail -n 8 文件名 :查看前8行内容
- 将 /root 目录下 a.cfg 文件拥有者改变为nobody
ls -l a.cfg :查看改文件权限
chown nobody a.cfg :改变拥有者权限为nobody
ls -l a.cfg :查看是否成功 - 将 /root 目录下的所有文件的拥有者改变为 nobody
pwd :显示当前路径是否为 /root
chown nobody * :改变权限
ls -l :查看是否成功 - chgrp命令改变指定文件所属的用户组 ,同上