• Linux命令基础——常用命令


    在学习Linux命令基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

    08-linux-day01(常用命令)

    目录:
    一、学习目标
    二、常用命令
    1、ls命令和相对路径绝对路径
    2、目录相关操作
    3、文件相关操作
    4、文件内容查看
    5、统计相关信息
    6、文件权限位和软硬链接
    7、删除软硬链接
    8、修改文件的用户和组
    9、查找和检索:find_grep_xargs
    10、grep补充
    11、zip与tar压缩文件
    12、rar压缩
    13、虚拟机网络配置
    14、软件安装和卸载——3种
    15、其他常用命令
    16、补码和关机

    一、学习目标

    (1)说出Linux下的目录结构和常见目录的作用

    (2)熟练使用Linux下的相对路径和绝对路径

    (3)熟练使用Linux下常用文件和目录操作相关的命令

    (4)熟练使用修改用户权限、用户和用户组相关的命令

    (5)熟练使用find命令相关参数进行文件查找

    (6)熟练使用grep命令根据文件内容进行文件的查找

    (7)熟练使用压缩工具完成文件或目录的压缩解压缩

    (8)熟练掌握Ubuntu下的软件安装和卸载


    学习环境:

    虚拟机系统:Ubuntu140401
    WangUbuntu登录密码:root
    用户名:wang 密码:root
    用户名:root 密码:wang

    Ubuntu终端 复制粘贴?

    一般windows在dos下要复制粘贴命令,会采取:
    Ctrl + c, Ctrl + v 或者 鼠标左键复制,右键粘贴
    但是,在Ubuntu终端下是行不通的,需要采取:
    (1)Ctrl + Shift +c,Ctrl + Shift + v
    (2)直接鼠标左键选中要复制的命令,然后在需要粘贴的地方按一下鼠标滚轮


    二、常用命令


    远程连接Linux:SecureCRT

    SecureCRT安装及下载

    SecureCRT8.3 下载、安装参看https://blog.csdn.net/qq_39052513/article/details/100272502

    》破解参看https://blog.csdn.net/Winnycatty/article/details/82899665

    注意:安装玩软件之后先不要打开xSz软件,打开软件破解容易失败!

    》连接:打开以后进入主界面 先点击 Connect,然后点击 Quick Connect,快速建立新的连接。接下来默认登录模式是SSH2,根据自己需求选择,然后填写你自己虚拟机的IP Hostname和登录的用户名 Username ,我的虚拟机是密码登录,所以我选择 Password ,然后点击 Connect 连接 。

    连接查看:https://blog.csdn.net/qq_39052513/article/details/104692026

    Issue汇总:

    (1)Issue描述:不存在用户名

    解决:安装SSH,一般机器都是不安装的。

    测试SSH  Ubuntu上》ssh localhost@localhost
    >>出现了:::ssh: connect to host localhost port 22: Connection refused  说明你的机器没装SSH,接着装吧
      打开Ubuntu的终端,输入:
      sudo apt-get install openssh-server
    安装完毕后ssh默认已启动。可以使用下述命令查看是否有进程在22端口上监听,即是否已启动:
      netstat -nat | grep 22

    (2)Issue描述:一直报错密码不正确

    解决:1)检查下你的机器window(宿主机)的桥接有没有禁用,有些特殊情况下机器会禁用。我的是禁用模式,所以在网络连接中“VMware NetWork Adapter VMnet1”右键更改为“启动”。

    2)进入到Ubuntu下,先查看Ubuntu虚拟机的IP配置,打开终端(Ctrl+Alt+T),通过ifconfig命令查看,可以看到Ubuntu下的IP地址信息。回到window win+R-->cmd--ipcong 查看你的电脑的ip,先分别在Windows上ipconfig和Ubuntu上ifconfig下 互ping一下,如果我们的环境是一个样的话,应该是没有问题的。有些教程说把虚拟机的链接方式 改成NAT然而我改了互相ping不同了,所以改回来了桥接模式(直接连接物理网络)。要互相ping通了才能下一步哈

    》如果还是不成功可以试着关闭防火墙

    如果连接不了,则我们需要关闭掉防火墙

     关闭掉防火墙  sudo ufw disable

    (3)Issue描述:连接报错:The server has disconnected with an error.  Server message reads:
    A protocol error occurred. Change of username or service not allowed: (root,ssh-connection) -> (WangUbuntu,ssh-connection)

    解决:用户名错误,在Ubuntu中输入:users 查看用户名(因为之前一直使用root连接!!!);然后重新连接,(输入 username:wang,用密码连接后输入密码:root)成功!

    1 Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic i686)
    2 
    3  * Documentation:  https://help.ubuntu.com/
    4 
    5 Last login: Sat Jun 27 17:41:15 2020 from 192.168.5.103
    6 wang@ubuntu:~$

    参考:Linux公社https://www.linuxidc.com/Linux/2016-12/138786.htm


    shell:(Linux中查看:cat /etc/shells)

    1、ls命令和相对路径绝对路径

    Tab键命令或目录补全!

    (1)history查看历史命令——可以方向键上下查看之前的命令

    (2)根目录 /

    /bin 可执行文件所在目录

    /media 挂载设备媒体,U盘,光驱等

    /mnt 该目录是为了让用户挂载别的文件系统

    /usr(unix system resources) 庞大和复杂的目录,很多应用会安装到此目录

    /usr/local 用户自己安装软件的目录

    /sbin 超级管理员root的可执行文件目录(如:ifconfig)

    /proc 这个目录是系统内存的映射,会保留进程的一些信息

    /etc 系统软件的启动和配置目录

      /etc/passwd 用户存放文件 man 5 passwd 查看文件格式

    /dev 设备文件所在目录

    Linux一切皆文件!

    /home/user 用户家目录

    (3)ls(list)查看文件信息

      ls -l ——>显示详细信息

      ls -a ——>显示隐藏的文件或目录

      ls -R——>递归显示子目录的内容

      ls -lrt——>按照时间排序

     (4)通配符*和?

      *——代表任意多个字符(如:ls *.c)

      ?——代表任意一个字符(如:ls func.?)

    (5)相对路径与绝对路径

      -以“/”开头的路径为绝对路径

      -不是以“/”开头的路径为相对路径

    2、目录相关操作

    (1)cd(change dir)更改目录

    wang@ubuntu:~/linux$

      -wang 代表用户

      -ubuntu代表机器名

      -~代表家目录

      -~/linux当前所在目录

      -$代表普通用户

      -root@ubuntu:/home/wang# 管理员对应的#

    (2)回到家目录的方式(四种):

      -cd

      -cd ~

      -$HOME环境变量代表家目录

      -cd /home/wang

    (3)显示当前工作目录:pwd

    (4)tree命令,如果不存在,需要安装!

    sudo apt-get install tree

    (5)mkdir 创建目录

    mkdir [option] dimame1 dimame2 ...

    -p——>递归创建目录

    (6)rmdir 删除目录

    rmdir不能删除非空目录,非空目录(目录下只有.和..)

    -p——>递归删除目录(但是,必须写全,而且dd下只能有aa,且aa为空,如:rmdir -p dd/aa/)

    (7)which命令 显示对应的命令所在的路径

    如:which ls——>/bin/ls

    (8)注意:cd不在任何一个目录,是shell自身的命令!

    3、文件相关操作

    (1)touch命令,创建文件,文件名如果不存在则创建,如果存在,更改访问时间

    touch [option] filename1 filename2 ...

    (2)rm命令 删除文件或目录

      - -r 递归删除子目录

      - rm -rf* 删除当前目录内全部内容(强制删除,慎用!

    (3)cp(copy)拷贝文件或者目录

    cp [option] srcpath despath

      -despath 是一个目录,将srcpath拷贝到despath目录下

      -despath 不是一个目录,在despath上级目录(.../xxx),在.../下创建一个xxx文件,并将srcpath的内容拷贝进来

    注意:拷贝目录的时候考虑最底层的目录是否存在!

    (4)mv(move)移动文件或者目录(剪切)

    注意:移动目录的时候考虑最底层的目录是否存在!不存在,是改名字!

    4、文件内容查看

    (1)cat命令——适合小文件

    cat filename——直接显示文件信息到屏幕

    (2)more和less,分屏显示文件信息——适合大文件和日志

    more

      -回车,逐行显示

      -空格,一页一页显示

    less

      -回车或者上下方向键可以反复查看文件内容

    (3)head和tail

      -head 查看文件头,默认显示10行内容

        -head -n可以指定显示的行数(如:head -n 5 stdio.h,显示stidio.h前5行内容)

      -tail 查看文件尾,默认显示10行内容——主要用来看日志

        -tail -n可以指定显示的行数

        -tail -f 可以一直跟踪文件末尾

    5、统计相关信息

    (1) wc(world count)统计文件内容

      -wc -l 行数

      -wc -w 单词数

      -wc -c 字节数

     (2)du 查看目录占用空间

      -du -h以KB显示占用空间

      -du -h --max-depth=1显示一级目录占用空间

     (3)df(disk free)显示磁盘空间信息

      -df -h以人可看的形式显示出磁盘空间信息

    6、文件权限位和软硬链接

    (1)ls -lrt显示的命令解释

    drwxr-xr-x 2 wang wang 4096 Apr  5 12:24 Desktop
    drwxr-xr-x 4 wang wang 4096 Apr  9 11:30 Documents

    文件权限标志位,硬链接计数,用户,用户组,大小,日期,目录/文件名

    root 独立于各个组!

      drwxr-xr-x(第一个字母:文件类型,-普通文件,d目录文件,l符号连接,b块设备,c字符设备,p(pipe)管道设备,s本地套接字(网络编程))

          (第2-4字母rwx:归属用户的权限)

          (第5-7字母rwx:归属组的权限)

          (第8-10字母rwx:其他用户的权限)

      r--可读;-w-可写;--x可执行(如果对应位置无权限,写-)

      权限位数字表示法(8进制数):

      如:rwx 111——>7 用户权限位

        r-x 101——>5 组权限位

        r-x 101——>5 其他用户权限位

      三个数连起来前面+0:0755

    (2)ln命令:建立软硬链接

      -注意与cp命令的区别

      -创建硬链接(ln src des)(指向同一块磁盘的内存)

      -创建软链接(ln -s src des),目录也可以创建软链接(相当于创建了快捷方式)

    7、删除软硬链接

    (1)unlink 删除硬链接

    硬链接计数为0时,文件被删除

    8、修改文件的用户和组

    (1) chmode改变文件权限

      chmod [u/g/o/a] [+/-] [r/w/x] filename

      -用数字的方式改变文件权限

      -给a.out用户可读可写,组可读可写,其他用户可读:chmod 0664 a.out

      -注意:目录需要有可执行权限,才能进入目录  

    (2)whoami 查看用户

    (3)chown与chgrp改变用户和改变组

      -用法如下:(注意:需要用管理员root去修改文件归属

      chown 用户:组 文件名/目录(chown包含chgrp指令了)

      chgrp 组 文件名/目录

    9、查找和检索:find_grep_xargs

    (1)find

      格式:find dir [option] 内容

        -name 按照名字查找(如:find ./ -name "*.c")

        -type按照类型查找(如:find ./ -type f);注意:f为普通文件

        -size按照大小查找(如:find ./ -size +1M)

          大于1M小于5M(如:find ./ -size +1M -size +5M)

          注意:不加+/-,是等于,但是不精确,不到1M的按1M处理

          问题:文件小于1M,find ./ -size -1M显示小于1M的没有?怎么回事?不到1M的按1M处理

          注意:k是小写的!

           -maxdepth最深路径,如:只看当前路径下的:find ./ -maxdepth 1 size +1M

            -想看当前目录下的详细内容:find ./ -maxdepth 2 -size +1M -exec ls -l {} ;

            -想看当前目录下的详细内容:find ./ -maxdepth 2 -size +1M -ok ls -l {} ; 相对安全模式,每一条指令都提示

            -想看当前目录下的详细内容:find ./ -type f|xargs ls -l(安全,可以避免溢出)

        xargs find命令的好伴侣——xargs将find命令查找的结果分成若干块输出给后面的指令

    (2)grep命令——内容过滤

      和find结合使用,对find查找的文件过滤(如:find ./ -type f|grep txt)

      grep -rn "main" *.c——查找当前目录下所有.c中包含main的内容,-rn显示行数

      cat a.c | grep main——把cat得到的内容用grep过滤

      tail -f tcpsvr.1705 | grep connect——和tail结合查看日志文件tcpsvr.1705最近一次连接

      grep -v main a.c——除了main所在的行,其他行全部显示

    10、grep补充

    格式:grep [option] 内容 dir|filename

    -r递归子目录

    -n显示行号

    11、zip与tar压缩文件

    (1)zip压缩——.zip格式

      zip -r 压缩包名字.zip 压缩的文件1 压缩的文件2...——递归压缩子目录

      unzip 压缩包名字——解压到当前的文件夹

    (2)gzip与gunzip压缩——.gz格式

      缺点:只能操作目录,所以一般不用!

    (3)tar压缩——.tar.gz格式

      最常用的打包工具!

      tar zcvf bb.tar.gz bb aa——把bb aa压缩为bb.tar.gz(-z gz格式压缩;-c压缩文件;-v显示信息;-f指定压缩包)

      tar zxvf bb.tar.gz——把bb.tar.gz解压缩(-x 解压缩)

      ——.tar.bzip2格式

      tar jcvf bb.tar.bzip2 bb aa——把bb aa压缩为bb.tar.bzip2(-j 使用bzip2压缩)

      tar jxvf bb.tar.bzip2——把bb.tar.bzip2解压缩

    12、rar压缩——.rar格式

       rar a -r b bb——把bb压缩为b.rar(a代表压缩;-r 递归子目录;压缩包名字b可以无后缀)

      rar x b.rar——把b.rar解压缩(x 解压缩)

    13、虚拟机网络配置

    安装完虚拟机VMware,在Windows网络的适配器设置中,默认得到两块网卡:VMnet1和VMnet8

    桥接模式:虚拟机相当于另外一台电脑,和本地连接同一个IP段(如:我Windows是192.168.5.1,Ubuntu是192.168.5.101,都处于5网段)

      NAT模式:本地主机通过VMNET8 网卡连接到虚拟机,要求VMNET8网卡与虚拟机IP同一网段

    》使用SecureCRT远程连接

    参看本博客第二部分。

    14、软件安装和卸载——3种

    (1)apt-get自动按照软件,需要知道软件名称(需要联网!

    sudo apt-get update 更新源 实际就是更新这个文件:/etc/apt/sourves.list

    sudo apt-get install tree 安装tree

    sudo apt-get remove tree卸载tree

    (2)dpkg根据deb安装包来安装软件(下载安装的包是.deb结尾的)

    sudo dpkg -i xxx.deb安装软件包xxx

    sudo dpkg -r xxx.deb移除软件xxx

    (3)源码安装

    1)解压缩源代码包

    2)cd dir

    3)./configure检测文件是否缺失,创建Makefile,检测编译环境

    4)make编译源码,生成库和可执行程序

    5)sudo make install 把库和可执行程序,安装到系统路径下

    6)sudo make distclean删除和卸载软件

    15、其他常用命令

    》用户管理

    (1)创建用户:(-s指定shell;-g指定组;-d用户家目录;-m家目录不存在时,自动创建)

        如:sudo useradd -s /bin/bash -g wang -d /home/wang -m wang

    (2)创建组:sudo groupadd wang增加wang用户组

    (3)设置密码:sudo passwd wang

    (4)切换用户:su wang——切换到wang用户

          su - wang——切换到wang用户,带有环境变量

    (5)root用户:sudo su

    (6)删除用户:sudo userdel wang删除用户wang

        sudo userdel -r wang 删除用户wang连带删除家目录

    》其他常用命令

    (1)echo输出变量或者字符串

    (2)date +'%Y%m%d'——>输出:20200628

    (3)alias 配置命令,命令重命名

      查看重命名(这些都在.bashrc文件中存放)

      如:alias grep——>输出:alias grep='grep --color=auto'

    (4)man 查看帮助手册

    16、补码和关机

    (1)umask——文件权限补码(显示8进制文件掩码)

     umask -S ——>u=rwx,g=rwx,o=rx(-S文字表示法显示对应的补码权限)


    umask是怎么回事???

    这是Linux中的umask函数

    我们创建bai文件的默认权限是怎么du来的?如何改变这个默认权限呢?

    umask是什么?

    当我们dao登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

    如何计算umask值?
    umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。

    该命令的一般形式为:umask nnn
    其中nnn为umask置000 - 777。

    我们只要记住u m a s k是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:
    umask 文件 目录
    --------------------
    0 6 7
    1 6 6
    2 4 5
    3 4 4
    4 2 3
    5 2 2
    6 0 1
    7 0 0
    --------------------

    如:umask值为022,则默认目录权限为755,默认文件权限为644。


    (2)关机重启(需要root权限)

      立即关机:shutdown -h now

      init 0:关机

      poweroff:关机

      reboot:重启

    在学习Linux命令基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

  • 相关阅读:
    event.preventDefault()
    laravel 授权使用gate门类
    Redis在Laravel项目中的应用实例详解
    Laravel实现找回密码及密码重置的例子
    2016-2017中国房地产走势大数据报告亮相
    特许金融分析师 (CFA) 持证人现在一般在做什么工作?职业分布是怎样的?
    工作中最常用的Excel函数公式大全
    151项国家职业资格目录清单公示
    中国 世界十大投资风云人物,谁是自己的指路明灯!
    世界十大投资风云人物,你知道几个?
  • 原文地址:https://www.cnblogs.com/Alliswell-WP/p/CPlusPlus_Linux_01.html
Copyright © 2020-2023  润新知