• 7天入门Linux


    经过一个星期学习,Linux终于入门了,在这里小记下~

    =====================分割线=============================

    Ubuntu常用命令:
    ctrl+shift+= 放大控制台
    ctrl+- 缩小控制台
    --操作目录的几种命令
    ls:查看目录下所有文件
    pwd:查看所在目录
    cd:切换目录
    mkdir 文件夹名:创建文件夹
    touch 文件名:创建文件名
    rm 文件名:删除文件
    rm -r 目录名:删除目录
    clear:清屏
    --命令规范
    command [-options] parameter
    ~command:命令
    ~options:选项,可填可不填
    ~parameter:参数,可以是零个或多个
    例如删除目录命令: rm -r 目录名

    --查询终端命令帮助
    command --help
    man command
    例如: mkdir --help
    针对man command的几个命令:f是像后滚屏,b是向后滚屏, 空格是是向后滚屏,enter是滚动一行。
    ps -fe:grep 端口/名称。 查看进程状态和进程所属用户。

    --常用快捷键
    tab键:可以自动补齐命令
    ctrl+c:结束当前命令输入

    touch .11.txt : 创建隐藏文件
    ls -a:查看隐藏文件
    ls -l:查看文件详细信息,包括大小,创建时间
    ls -l -h:查看文件详细信息,和ls -l的区别是显示的更直观
    *:通配符,*代表所有省略字符。 比如: 1* 就会把开头为1的文件和文件夹都查询出来。
    ?:通配符,?代表一个省略字符。比如: 2?.txt 就会把2开头并且省略一位的文件查询出来,比如 21.txt。
    []:匹配括号中指定内容通配符。比如:[1,2]23.txt 会把1和2开头的 123.txt和 223.txt文件匹配到。 另外还可以[1-3]23.txt 会把1到3开头的匹配到。


    cd . :访问当前目录
    cd ..:访问上级目录
    cd ~ :访问根目录
    cd -:目录直接来回切换

    相对路径:相对于当前目录的路径,路径前面没有/和~
    绝对路径:路径是写死的,路径前面有 /和~


    touch 文件名:对于已经存在的文件名会修改文件的创建日期,没有的话会创建
    mkdir -p 文件名/文件名...:连续创建多个文件
    rm -f 文件名:强制删除一个文件

    tree:显示当前文件下面的文件结构
    tree 目录名:显示指定目录下的文件结构
    tree -d:只显示目录结构不显示文件

    cp 源文件 目标文件:复制文件,比如 cp ~/Test/1.txt ./1.txt,这样就将Test目录下的1.txt复制到了当前文件夹下。
    cp -i 源文件 目标文件:复制文件,如果文件要覆盖的话会提示是否覆盖,我们输入y或者n进行选择
    cp -r 源文件 目标文件:复制目录
    mv 源文件 目标文件:剪切文件,如果文件已经存在则视为修改文件名称
    mv -i 源文件 目标文件:剪切文件,同时校验是否已经存在

    cat 文件名:查看文件内容 (将文件内容全部显示)
    cat -b 文件名:显示行号,只计算不为空的行
    cat -n 文件名:显示行号,显示所有行号包括空行
    more 文件名:查看文件内容(显示一页内容,按空格或者f查看下一页,按b查看上一页,按enter查看下一行,按q结束查看)

    grep 关键字 源文件:在文件中搜索
    grep -n 关键字 源文件:在文件中搜索并显示指定行号
    grep -v 关键字 源文件:显示不包含关键字的行
    grep -i 关键字 源文件:搜素关键字并忽略大小写
    grep ^关键字 源文件:搜索以关键字开头的行
    grep 关键字$ 源文件:搜索以关键字结尾的行

    free 查看内存

    echo 文字:在终端输出文字
    文字 > 文件名: 将文字保存在文件中,这个会发生覆盖现象。 比如 echo hello > a.txt 这样就创建a.txt并保存了hello内容。
    文字 >>文件名: 将文字追加到文件中,这个不会发生覆盖。 比如 echo world >>a.txt 这样就把world追加到了a.txt文件下


    命令 | grep 关键字 :管道,把第一个命令的输出通过管道传递给后面的命令,当作第二个命令的搜索条件
    命令 | more :管道,把第一个命令的输入,当作第二个命令的显示


    shutdown -r now:立即重启系统,如果不输入now的话默认一分钟关闭
    shutdown now:立即关闭系统,如果不输入now的话默认一分钟关闭
    shutdown +5:5分钟后关闭系统
    shutdown 8:11:8点11关闭系统
    sudo shutdown -r:通过远程软件重启服务器

    ifconfig:查看网卡信息
    ping 网址:查看网址是不是通


    -- 控制台连接shh
    ssh [-p port] 用户名@远程地址:使用ssh连接远程服务器,ssh默认端口是22,如果没有任何修改的话-p port可以去掉
    exit:退出用户登陆

    --在控制台直接操作传输文件
    scp -P 端口号 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程,注意这里的P是大写
    scp -P 端口号 用户名@远程地址:远程目录 本地目录:将远程目录拷贝到本地目录。
    scp -r 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程目录

    scp 文件  node2:`pwd`  将文件复制到node2服务器相同位置

    使用ftp上传文件注意事项:使用filezilla软件时端口号要指定为21 , 使用FlashFXP 5端口号指定为22

    --设置免密操作
    切换到.ssh目录下,输入命令 ssh-keygen:配置公钥
    ssh-copy-id -p 端口号 登录名@远程地址 :将配置的公钥上传到服务器
    这样以后操作就不需要输入密码了。


    使用ls -l显示的内容依次是:
    drwxr-xr-x 3 shuai7boy shuai7boy 4096 Jul 3 00:11 Desktop
    -rw-r--r-- 1 shuai7boy shuai7boy 8980 Jun 8 02:35 examples.desktop
    -代表文件 d表示目录
    后面wxr什么的三个一组,第一组代表当前拥有者的权限,第二组代表当前组的权限,第三组代表其它人的权限(r表示读,w表示写,x表示执行)
    后面数字表示硬连接数,及有多少种方式可以访问该文件,一般文件只有一种,文件夹多种(比如直接通过cd 绝对路径访问,还可以通过cd .和cd ..访问)
    再后面依次对应拥有着名称,组名(shuai7boy shuai7boy)
    再后面是大小(4096)
    再后面是时间(Jul 3 00:11)
    再后面是文件名(Desktop)

    chmod +/-[r,w,x] 文件名:对文件增加可读,可写或者可执行权限。比如 chmod +r 111.txt 将111.txt加上可读权限
    ./111.py :执行一个文件,注意前面加上./ 这种格式
    chmod -R 752 文件名:递归给拥有用户,用户组,其它用户设置文件可读,可写或者可执行权限。 4代表r,2代表w,1代表x。 然后数字组合表示不同权限。

    sudo ...:使用超级管理员权限来执行命令,下面的一些用户操作命令都要加sudo

    groupadd 组名:添加组
    groupdel 组名:删除组
    cat /etc/group:查看组信息
    chgrp 组名 文件名:修改文件组信息
    chown 用户名 文件名:修改文件所有者信息

    --新建用户
    uaseradd -m -g 组名 新建用户名:新建用户,-m表示给新建用户创建家目录,-g给用户指定组名
    passwd 用户名:给用户设置密码
    --删除用户
    userdel -r 用户名:删除用户

    --查看用户信息
    id 用户名:查看用户信息,如果只写id查询的是当前用户的信息
    例如:id shuai7boy ->
    uid=1000(shuai7boy) gid=1000(shuai7boy) groups=1000(shuai7boy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
    uid表示用户id,gid表示组id,groups表示所在组

    查看具体用户信息使用cat /ect/passwd |grep 用户名
    例如: cat /ect/passwd |grep shuai7boy
    shuai7boy:x:1000:1000:Ubuntu,,,:/home/shuai7boy:/bin/bash //x表示有密码并且加锁了,前面1000表示用户id,后面1000表示组id
    查看具体组信息使用:cat /etc/group |grep 用户名
    例如:cat /etc/group |grep shuai7boy

    who:查看所有登陆的用户
    whoami:查看当前登陆的用户

    主组:在创建用户的时候就添加的组
    附加组:附加的组权限
    usermod -G 组名 用户名:修改附加组
    usermod -g 组名 用户名:修改主组
    usermod -s /bin/bash 用户名:添加base

    which 命令:查询命令所在文件
    su - 用户名:切换用户,并且切换主目录。su - 后面不加用户名,这样会切换到系统默认的用户,比如root。退出切换用exit。

    date:查看系统时间
    cal:查看日历

    df -h:查看磁盘空间使用情况
    du -h[文件名]:查看当前目录空间使用情况

    iotop:查看磁盘IO读写。

    iotop -o:查看比较高的磁盘读写程序。

    uptime:查看报告系统平均时长及平均负载。

    --进程相关
    ps aux:显示所有进程
    ps : 显示当前控制端进行
    ps a :显示所有控制端进行进程
    (a显示终端所有进程,u表示显示进程的详细信息。x显示没有控制端的进程,比如后台进程)

    top:实时显示排序后的cpu,内存占用情况。按q 就可以结束显示
    kill [-9] 进程代号:终止指定的进程,-9是强行停止进程

    find [文件路径] -name "*.txt":所有以txt结尾的文件,包括子目录

    ln -s 源文件绝对路径 快捷方式连接名称:创建软连接,相当于windows里面的快捷方式

    --压缩解压缩
    gzip操作
    tar -cvf 打包文件名称.tar 被打包文件路径//打包操作 打包多个文件的话,后面的文件路径用空格区分出来
    tar -xvf 打包文件名称.tar //解包操作
    tar -zcvf 压缩文件名称.tar.gz 被压缩文件路径//压缩文件
    tar -zxvf 压缩文件名称.tar.gz 被压缩文件路径//解压文件

    tar -zcvf 压缩后的文件名 要压缩的文件夹路径  #tar -zcvf test.tar.gz /opt/test    //压缩文件夹


    bzip2(two)操作
    tar -jcvf 打包文件名称.tar.bz2 被压缩文件路径//压缩文件
    tar -jxvf 压缩文件名称.tar.bz2 被压缩文件路径 -C 解压路径//指定解压路径

    --安装卸载软件
    sudo apt install 软件名:软件名
    sudo apt remove 软件名:软件名
    sudo apt update 软件名:软件名

    --编辑文件,操作文本部分
    vi 文件名:打开一个文件,如果文件不存在则会新建一个
    vi 文件名 +行号:打开一个文件,并跳转到指定行号。如果+后面不加行号,会自动跳转到末尾行。

    命令模式:使用vi进入命令模式的主入口,在命令模式下可以使用跳转指定行,翻页等操作
    末行模式:包括文件的保存和退出操作,在控制台输入:wq就退出了,输入:w是保存,输入:q时退出,输入q!强行退出。按esc时返回命令模式
    编辑模式:在命令模式下输入i对文件进行编辑,按esc返回命令模式
    末行模式命令:
    q!:强行退出
    w:保存
    q:退出
    wq:保存退出
    x:保存退出

    ! ls 路径 --在保持文件编辑的状态下查找外部内容,查询完后回车即可回到编辑状态

    光标移动命令:h左,j下,k上,l右
    w:向后移动一个单词,w指word
    b:向前移动一个单子,b指back
    0:移动到行首
    ^:移动到(不包括空行的)行首
    $:移动到行尾

    gg:移动到文章开头
    G:移动到文章结尾
    数字 gg/G:移动到指定行
    :数字:移动到指定行
    ctrl+f:下一页
    ctrl+b:上一页
    H:上部(H值head)
    M:中部(M指middle)
    L:下部(L指low)
    {:跳转上一段落
    }: 跳转下一段落
    %:括号间来回切换
    m a~z:添加标记,比如添加标记a, ma 'a 在别处'a就会找到a

    选中文本(可视模式)
    v:从文本出按方向键选中文本
    V:选中所在行,按方向键会正行选择
    ctrl+v:垂直方向选择文本。

    ~撤销和恢复文本
    u:撤销上一步操作 ,u指的时undo
    ctrl+r:取消撤销,r指的redo

    ~删除命令
    x:删除选中的文本,也相当于剪切一段文本
    d(移动命令):结合移动命令来删除文本,比如 d w 这样就删除了整个单词,5 d 这样会删除5行
    dd:删除所在行
    D:删除所在位置到行尾

    ~复制,黏贴
    y(移动命令):复制,英文是copy
    yy:复制一行,nyy复制多行
    p:黏贴
    外部内容剪切:进入到编辑模式,然后邮件粘贴

    ~替换命令
    r:替换一个字符,按小字母后,然后输入替换后的字母
    R:替换一个单词,按大写字母R后,输入替换的内容


    ~缩排和重复执行
    >>:向右缩进
    <<:向左缩进
    .:重复上次命令
    注意:选中多行后使用缩进,按一次>或者<就行

    ~查找内容
    /内容:查找内容,按enter键位进行查找,n向下查找,N向上查找
    *:查找光标所在内容,向下查找
    #:查找光标所在内容,向上查找

    ~查找和替换
    :%s/旧文本/新文本/g :一次性替换文件中所有出现的旧文本
    :s/旧文本/新文本/g :先选中,然后替换选中的文本
    :%s/旧文本/新文本/gc:确认替换,c指的confirm,选项一次是确认替换,不替换,全部替换,退出替换

    ~进入编辑命令的六种方式
    I:在行首进入编辑
    A:在行尾进入编辑
    O:在行上面插入一个空行进入编辑
    o:在行下面插入一个空行进入编辑


    ~重复输入内容
    1.输入数字3
    2.按下i进入编辑命令
    3.输入*及重复内容
    4.按esc退出编辑,这时会自动渲染三个*
    ~给多行内容添加注释
    1.在要注释的行按0进入到行首
    2.按ctrl+v进入到可视块模式,按j向下选择
    3.按I进入编辑模式,输入#
    4.按esc上面输入的#就会加入的每行前面

    ~末尾行命令
    :w 文件名//将文件另存为,当前正在编辑的文件不会切换
    :n 文件名//新建文件
    :e .//编辑当前目录下的文件,如果知道名称的话,可以直接:e 名称来进行编辑

    ~分屏命令
    :sp 文件名:横向分屏,s指split
    :vsp 文件名:竖直分屏,v指vertical

    以下命令先按ctrl+w然后才能操作
    w:切换到下一个分屏
    r:r指互换分屏
    c:关闭分屏

    =====================分割线=============================

    下面是彩蛋时间(¬◡¬)✧
    (´•༝•`)显示指定名称
    控制台输入: banner shuai7boy

    (´•༝•`)显示一双眼镜
    控制台输入: xeyes

    (´•༝•`)显示“数字雨”
    首先安装: sudo apt-get update; sudo apt-get install cmatrix
    然后输入:cmatrix -C green

    Linux学习网址推荐:
    https://www.runoob.com/linux/linux-tutorial.html

  • 相关阅读:
    Visual Studio 必备神器
    MVC中用Jpaginate分页 So easy!(兼容ie家族)
    仿花田:相亲网站 意中人 已在GitHub上开源
    仿花田:内部相亲网站 意中人(Asp.net MVC,Bootstrap2)
    Myeclipse最全快捷键
    SVG Viewer 3.0安装发现SVG Viewer License.txt无法介入写入,安装失败
    SVG报错error on line 39 at column 26: Namespace prefix xlink for href on script is not defined
    SVG可缩放矢量图形
    Google帮助IE浏览器实现对SVG支持
    JS代码判断IE6,IE7,IE8,IE9的函数代码
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/11146641.html
Copyright © 2020-2023  润新知