linux基础介绍
基础介绍
操作系统 OS
Operation System,即操作系统,是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。能够向下控制硬件,向上支持应用软件的运行。
操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。
注意:功能机就是在没有OS的情况下运行,而现在经常用的Android手机就是在OS下运行的。
应用程序、硬件、OS的关系
应用程序通过操作系统从而与设备上的物理硬件进行信号交换
Linux和linux发行版的关系
最严格地讲,linux从来都不是操作系统,linux只是一个操作系统内核。
linux发行版是以linux为内核的操作系统,包含Linux 内核、命令行 SHELL、图形界面等。
Linux主要应用范围
个人桌面:应用软件少——面向少数的工作人猿。
服务器领域:Linux 在服务器领域的应用是其重要分支——免费、稳定、高效。
嵌入式领域:Linux 运行稳定、对网络的良好支持性、低成本, 且可以根据需要进行软件裁剪, 内核最小可以达到几百 KB 等。
linux命令
启动 terminal:Ctrl+Alt+T
基本格式
Linux命令格式:
command [-options] [parameterl]
说明:
command: 命令名,相应功能的英文单词或单词的缩写
[options]:选项,可用来对命令进行控制,也可以省略,[ ]代表可选
parameterl …:传给命令的参数:可以是零个一个或多个
基础命令
1.ls:list 查看当前目录
查看当前目录下的文件,文件夹的名字
常用选项: -a -l -h
-a 显示指定目录下的隐藏文件, 以点(.)开头的文件为隐藏文件.
-l 以列表方式显示文件的详细信息.
-h 配合 -l 显示文件大小单位.
demo: ls -lah
2.pwd:print wrok directory 查看工作路径
查看工作路径,即当前所在文件夹
3.cd[]:change directory 切换文件夹
切换文件夹
命令 | 含义 |
---|---|
cd 目录名 | 切换到指定目录 |
cd . | 切换到当前目录 |
cd .. | 切换到上一级目录 |
cd ~ | 切换到当前用户的家目录 |
cd | 等价与cd ~ |
cd – | 切换到上一次目录 |
4.mkdir[]:make directory 创建目录
创建目录
-p 以递归的方式创建所依赖的文件夹
demo:mkdir 123/456/789 -p
补充:rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除目录命令
rmdir 只能操作空文件夹
5.touch[]:touch 新建文件
如果文件不存在,新建文件
6.mv[]:move 移动指定的文件
移动指定的文件
-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v 显示移动后的路径描述
mv 文件名 路径: 把文件移动到指定路径
mv 路径/文件名 路径: 把指定路径的文件移动到指定路径
mv 文件名 新的文件名: 重命名
mv 文件夹 路径: 把文件夹移动到指定目录,不需要加上-r
提示:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中
命令 | 特点 |
---|---|
mv | 移动文件夹无需加其他命令 |
rm | 删除非空文件夹时,必须加上-r |
cp | 复制非空文件夹时,必须加上-r |
7.rm[]:remove 删除
删除指定的文件或文件夹
-i 以进行交互式方式执行
-f 强制删除,忽略不存在的文件,不会报错
-r 递归地删除目录下的内容,删除文件夹时必须加此参数
-d 删除空目录
提示:
rm命令可以同时删除文件或目录
rm 删除非空文件夹时,必须加上-r
8.cp[]:copy 拷贝
拷贝指定的文件
-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录。
简单而言,-a选项保持文件原有权限。
-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v 显示拷贝后的路径描述
cp 文件名 路径: 把文件拷贝到指定路径
cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径
cp 文件名 路径/新的文件名 : 先把文件拷贝到指定目录然后再重命名
cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去
9.tree 树状目录
以树状方式显示指定路径的目录结构。
demo tree file
部分系统没有自带tree命令。可以根据提示信息添加。
10.clear 清屏
清屏
11.> 重定向
重定向:将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
注意: >输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
12.cat 查看
查看或者合并文件内容
demo:cat 1.txt 2.txt >> 3.txt
内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)
13.more 分屏显示
分屏显示信息过长内容
f:表示下一页
空格:表示下一页
回车: 表示下一行
b:表示上一页
q:退出
14.| 管道
管道:一个命令的输出可以通过管道做为另一个命令的输入。
可以理解成是一个容器,存放在终端显示的内容
总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的
demo:ls -lh | more
15 ln 链接
建立链接:类似于Windows下的快捷方式
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。ln -s 源文件 链接文件
硬链接:硬链接只能链接普通文件,不能链接目录。ln 源文件 链接文件
补充:
删除软链接就好比删除了快捷方式,不会影响源文件。
删除原文件,再打开软链接,看不到内容;通过硬链接打开,可以看到数据。
修改一个文件内容(随意修改),所有硬链接的文件内容都改变了。
创建硬链接硬链接数会加1
如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接
链接所涉及的内容是文件的引用,可参见:5分钟让你明白“软链接”和“硬链接”的区别
16.grep 文本搜索
grep [-选项] ‘搜索内容串’文件名
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写
grep搜索内容串可以是正则表达式。
有关正则,日后再编辑添加链接。
demo:grep "a" 8.txt : 根据指定内容在文件中进行查找
17.通配符
通配符是一种特殊字符,用来模糊搜索文件。
简单介绍(正则部分会详细介绍):
*:代表0个或多个任意字符
?:代表任意一个字符
[列举的字符]:代表可以取【】里的任意一个字符
18.find 查找文件
find ./ -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找
find ./ -name '*.sh' 查找当前目录下所有后缀为.sh的文件
find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件
19.打包tar
tar使用格式 tar [选项] 打包文件名 文件
选项:
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar类型的文件,必须放选项最后
-x 解开档案文件
-z 压缩
注意:tar这个命令并没有压缩的功能,它只是一个打包的命令。除了f需要放在参数的最后,其它参数的顺序任意。一般常用 -cvf选项
20.压缩 gz bz2 zip
tar
压缩用法:
tar -zcvf 压缩包名 文件1 文件2 ...
解压用法:
tar -zxvf 压缩包包名
-z:指定压缩包的格式为:file.tar.gz
解压到指定目录:-C (大写字母“C”)
demo: tar -zxvf test.tar.gz -C ~/Desktop/file/
bz2
压缩用法:tar -jcvf 压缩包包名 文件
解压用法: tar -jxvf 压缩包包名
zip:
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
21.chmod 修改文件权限
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是选择 |
rwx | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
[ +-= ] | 含义 |
---|---|
+ | 增加权限 |
– | 撤销权限 |
= | 设定权限 |
数字法:“rwx” 这些权限也可以用数字来代替
字母 | 说明 |
---|---|
r | 读取权限,数字代号为 “4” |
w | 写入权限,数字代号为 “2” |
x | 执行权限,数字代号为 “1” |
– | 不具任何权限,数字代号为 “0” |
demo:
chmod a=- 1.txt chmod a= 1.txt : 全部没有权限
chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行
chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限
注意:
如果想递归所有目录加上相同权限,需要加上参数“ -R ”。
如:chmod 777 test/ -R
递归 test 目录下所有文件加 777 权限
22.which 查看命令位置
which cd 是查看不了命令所在目录,原因是:
Linux命令是分为内置命令和外部命令
内置命令是在系统启动时就载入内存执行效率高
外面命令是系统的软件功能,需要时载入内存
cd属于内置命令
23.sudo -s 切换到管理员账号
一般不需要切换到管理员账户,需要使用管理员权限在命令前面加上sudo
24.whoami 查看当前用户
25.passwd 设置用户密码
26.exit 退出登录账户
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
27.who 查看所有的登录用户
28.reboot、shutdown 关机重启
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统,shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后就自动关机了 |
远程登陆
1.SHH介绍
SSH 是专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝.
SSH 为 Secure Shell 的缩写,使用SSH服务,需要安装相应的服务器和客户端。
2.在 Ubuntu 安装 SSH
安装ssh服务器:
sudo apt-get install openssh-server
远程登陆
ssh 用户名@IP
使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。
远程拷贝
1.通过 scp 命令
远程拷贝文件,scp -r 的常用方法:
1.使用该命令的前提条件要求目标主机已经成功安装openssh-server
如没有安装使用 sudo apt-get install openssh-server
来安装
2.使用格式:
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
举例:
scp -r mai@192.168.1.1500:/home/mai/QQ_dir/ ./mytest/file
在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y“
拷贝单个文件可以不加 -r 参数,拷贝目录必须要加。
本地文件复制到远程:
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile
本地目录复制到远程:
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder
远程文件复制到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName
远程目录复制到本地:
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName
2.远程登陆拷贝小结
- SSH 用于远程登录, 以及用户之间进行资料拷贝.
- 远程登陆的命令: ssh 用户名@IP地址
- 远程拷贝的命令: scp 用户名@IP地址:文件路径 本地路径
- FileZilla 软件可以通过图形化操作的方式进行远程主机的文件上传和下载.
- 在windows系统上远程连接Ubuntu需要安装OpenSSH软件
vim编辑器
1.vim 简介
vim 是一个类似于Vi 的著名的功能强大、高度可定制的文本编辑器
vim有三种基本工作模式:
命令行模式--ESC即可进入
编辑模式--命令行模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
末行模式--命令行模式下,用户按“:”键即可进入末行模式下,该模式下。输入(!w)q即可退出vim编辑。
2.vim常用命令
- i: 进入编辑模式
- yy: 复制光标所在行 复制多行: 数字+yy
- p: 粘贴, 粘贴多次: 数字+p
- dd(删除、剪切), 剪切或者删除多行:数字+dd
- V: 选中多行
- 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
- x: 从前往后删除一个字母
- X: 从后往前删除一个字母
- u: 撤销
- shift + >: 往右缩进
- shift + <: 往左缩进
- .:重复上一次操作
- G: 回到最后一行
- gg: 回到第一行 1G
- 18G: 回到指定行
- shift + 4:回到行末
- shift + 6:回到行首
- 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
- 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
- ctr+f: 下一页
- ctr+b: 上一页
- wq: 保存退出
补充:
关于正则部分日后会编辑补充链接
——MAI
Feb 28, 2019 9:40 PM