linux最常用命令

linux基础介绍

文章目录

  • linux基础介绍
    • 基础介绍
      • 操作系统 OS
      • 应用程序、硬件、OS的关系
      • Linux和linux发行版的关系
      • Linux主要应用范围
    • linux命令
      • 基本格式
      • 基础命令
        • 1.ls:list 查看当前目录
        • 2.pwd:print wrok directory 查看工作路径
        • 3.cd[]:change directory 切换文件夹
        • 4.mkdir[]:make directory 创建目录
        • 5.touch[]:touch 新建文件
        • 6.mv[]:move 移动指定的文件
        • 7.rm[]:remove 删除
        • 8.cp[]:copy 拷贝
        • 9.tree 树状目录
        • 10.clear 清屏
        • 11.> 重定向
        • 12.cat 查看
        • 13.more 分屏显示
        • 14.| 管道
        • 15 ln 链接
        • 16.grep 文本搜索
        • 17.通配符
        • 18.find 查找文件
        • 19.打包tar
        • 20.压缩 gz bz2 zip
        • 21.chmod 修改文件权限
        • 22.which 查看命令位置
        • 23.sudo -s 切换到管理员账号
        • 24.whoami 查看当前用户
        • 25.passwd 设置用户密码
        • 26.exit 退出登录账户
        • 27.who 查看所有的登录用户
        • 28.reboot、shutdown 关机重启
    • 远程登陆
      • 1.SHH介绍
      • 2.在 Ubuntu 安装 SSH
    • 远程拷贝
      • 1.通过 scp 命令
      • 2.远程登陆拷贝小结
    • vim编辑器
      • 1.vim 简介
      • 2.vim常用命令
        • 备忘:


基础介绍

操作系统 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 [email protected]:/home/mai/QQ_dir/ ./mytest/file

在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y“

拷贝单个文件可以不加 -r 参数,拷贝目录必须要加。

  1. 本地文件复制到远程:

    scp FileName RemoteUserName@RemoteHostIp:RemoteFile
    scp FileName RemoteHostIp:RemoteFolder
    scp FileName RemoteHostIp:RemoteFile

  2. 本地目录复制到远程:
    scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
    scp -r FolderName RemoteHostIp:RemoteFolder

  3. 远程文件复制到本地:
    scp RemoteUserName@RemoteHostIp:RemoteFile FileName
    scp RemoteHostIp:RemoteFolder FileName
    scp RemoteHostIp:RemoteFile FileName

  4. 远程目录复制到本地:
    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常用命令

  1. i: 进入编辑模式
  2. yy: 复制光标所在行 复制多行: 数字+yy
  3. p: 粘贴, 粘贴多次: 数字+p
  4. dd(删除、剪切), 剪切或者删除多行:数字+dd
  5. V: 选中多行
  6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
  7. x: 从前往后删除一个字母
  8. X: 从后往前删除一个字母
  9. u: 撤销
  10. shift + >: 往右缩进
  11. shift + <: 往左缩进
  12. .:重复上一次操作
  13. G: 回到最后一行
  14. gg: 回到第一行 1G
  15. 18G: 回到指定行
  16. shift + 4:回到行末
  17. shift + 6:回到行首
  18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
  19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
  20. ctr+f: 下一页
  21. ctr+b: 上一页
  22. wq: 保存退出

备忘:

	关于正则部分,日后会编辑补充链接
																——MAI
                                				 Feb 28, 2019 9:40 PM

你可能感兴趣的:(python基础)