linux基础介绍

作者: 无穷远的尽头 | 来源:发表于2019-02-28 21:50 被阅读3次

    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 参数,拷贝目录必须要加。

    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
    

    相关文章

      网友评论

        本文标题:linux基础介绍

        本文链接:https://www.haomeiwen.com/subject/purluqtx.html