zoukankan      html  css  js  c++  java
  • 02-Linux命令基础-第02天(压缩包管理、服务器搭建与使用、vim)

    01-   复习

    /boot 目录 引导项

    八种文件类型:

    文件:-

    目录:d

    软链接:l

    字符设备文件:c

    块设备文件:b

    管道:p

    套接字:s

    未知

    cp –a 保持源文件属性(如时间属性 如果不用-a会变成最新的)

    02-   打包压缩

    gzip bzip2

    gzip file

    gunzip file.gz

    bzip2 file

    bunzip2 file.bz2

    只能压文件 不能压目录

    tar命令 打包

    tar czvf  xxx

    tar xzvf  xxx

    对于rar:

    sudo apt-get install rar

    sudo apt-get install unrar

    aptitude软件可以通过show查看是否某个软件是否已经安装了

    sudo apt-get install aptitude

    rar a –r test.rar a.b.c.d

    unrar x

    zip:

    zip –r mydir.zip mydir out

    03-   进程和网络

    who命令 显示 用户 终端和登录到系统的时间

     

    tty是文字的终端

    pts是图形的终端

     

    a = show processes for all users 显示所有用户的进程

    u = display the process's user/owner
    x = also show processes not attached to a terminal

    ps aux

    如果grep出来有一条 说明没有 这个是grep进程

    jobs: 显示当前的作业

    作业: 多个进程的编组 这个组的名字叫作业

    cat 然后ctrl+ z 会显示已停止

    进程被挂起了

    jobs 可以查看这个进程

    这个东西是放到栈上的

    挂起两个cat:

    +号表示第二个进程被恢复的优先级要比第一个高

    fg 恢复  ( fore ground)

    与fg对应的是bg

    前后台的定义:

    前台:能与用户完成交互

    后台:不能与用户完成交互

    执行命令最后加一个 & 就是放到后台运行

    给进程发信号杀死进程

    kill –SIGKILL 19561

    SIGKILL是宏定义9

    所以也可以 kill -9 19561

    env:

    环境变量

    echo $SHELL

    SHELL是一个环境变量

    $表示把环境变量的值取出

    echo表示把值打印到屏幕上

    echo $HOME 宿主目录

    echo $PATH

    当字节从shell输入可执行程序的时候会从PATH所指定的一系列目录 一个一个的去找 找同名的可执行程序

    所以其实在windows下配path的时候 应写到加分号 最前面 而不是最后面

    top命令 linux下文字版的任务管理器

    显示某一条任务在linux系统下的情况

    关于网络 在后面会详细的讲

    ifconfig 临时设置 重启后就不生效了

    临时更改ip地址

    ping:

     

    windows 的ping 发4个就停止了

    linux 的ping 要加 –c 4 否则会一直发

    netstat 查看网络状态

    nslookup

    finger

    查看shell 目录什么的..(不常用)

    01-   ftp服务器实名用户上传下载

    ftp:

    ftp服务器

    sudo apt-get install vsftpd

    sudo aptitude show vsftpd

    配置文件

    sudo vi/etc/vsftpd.conf

    配置文件语法要求很严格

    把该打开的都打开

    sudo service vsftpd start

    然后使用ftp命令

    或者127.0.0.1( 网卡的默认本地回环ip 127.0.0.1)

    或者127.1

    登上去以后pwd

    显示服务器当前在~目录下

    然后get xxx.file

    从/etc登录的 所以会get到/etc下 (如果没有权限限制

    put 上传

    01-   lftp和匿名ftp用户

    tar czvf xxx.tar.gz a.out gcc.b asd.c

    .tar.gz不加也行 但是加上方便自己

    tar xzvf xxx.tart.gz

    用ftp链接的前提是要知道服务器的用户名和密码

    操作系统有一个默认的ftp位置

    ftp 127.1

    用户名 anonymouse 密码任意

    pwd在’/’

    然后ls

    发现自己是在/srv/ftp下面

    然后进行put命令  但是失败了,

    重新开了一个终端查看/srv/ftp目录权限

    发现所有者是root 所属组是ftp

    第二个权限是r-x 没有写权限

    所以不能进行put操作

    不过之前改过/srcv/ftp/incoming目录的权限了

    所以其实可以在incoming目录进行写操作

    在incoming目录下进行操作:

    总结一下匿名用户ftp:

    anonymous

    一般情况只能上传下载文件

    如果想上传下载目录需要使用lftp

     

    好处是mirror 可以上传下载目录

     

    而且lftp显示中文不会乱码

    默认lftp是匿名用户登录

    如果想实名用户需要login

    01-   改变ftp本地目录位置

    查看本地的用!ls

    lcd改变本地机的工作目录位置

    07-   nfs_ssh_scp

    scp : super copy

    (实际scp不算是一种服务器 确切的说就是一个命令)

    super copy

    加-r 就能拷贝木露露了

    示例:

    scp –r itcast@192.168.36.64:/home/itcast/dir ./zhangsan/

    超级拷贝

     

    nfs:

    流程就是这样了

       对比语法:

    01-   其他命令

    man man

    一共9章

    要求务必掌握前三卷

    man printf  // 显示的不对

    man 3 printf // 找的是函数

    ll:

    输入alias查看别名

    ls的颜色

    关于-F:

    增加别名:(只在当前终端临时生效,写到配置文件才能永久生效)

    echo $PATH

    echo $?  查看程序上次退出的值 (比如一段程序return 0 或者return 87)

    cd ~

    mkdir test

    cd test

    mkdir dir

    touch file

    ls –l

    发现目录比文件多执行权限

    原因是如果目录没有执行权限 就不能进入了

    改成跟文件一样的权限…

    进不去了

    实际上操作系统里有一个叫umask的东西控制着创建出的文件的权限

    umask叫文件操作掩码

     

    第一个0表示八进制 后面三位对应着 文件所有者 同组用户 其他人

    对于一个文件权限满了是 777

    umask是002

    所以实际创建的权限是775

    设置umask 0511 这时候创建出来的文件就会是266

    即:-w- rw- rw-

    (查看文件夹权限)

    (查看文件权限)

    设置umask 0522 这时候权限应该是255

     

    发现目录的权限是对的

    但是file2文件的执行权限又去掉了

    这是ubuntu的优化 操作系统不认为新touch的文件具有执行权限

    文件如果想执行 需要是可执行程序

    gcc….脚本编程.sh… 默认都没有执行权限

    所以得chmod a+x .sh 给它后期赋予执行权限

    chmod复习:

    umask –S

    直接查看创建的文件的权限

    umask 改完直接把终端关上 再打开就失效了。

    ctrl+alt+t  打开多哥终端

    ctrl+shif+t 在一个终端里开多个窗口

    alt+1 alt+2 alt+3

    ctrl+d 关掉终端

    poweroff可以通过ssh给关机…

    shutdown 参数更多一些

    uname –a 查看内核的版本

    01-   vim基本操作

    i在本字符的左边

    a 在本字符的右边

    o  下一行行首

    I 本行行首

    A 本行行末

    O  上一行行首

    s 删除一个字符

    S 删除一行

    挪动光标

    hjkl

    G 移动到最后一行

    gg 移动到第一行

    gg = G 格式化代码 (自己试ubuntu16.04下不行 要先apt-get install vim..可能是indent格式化包不完整)

    80G 到第80行

    20G 到第20行

    两个括号(大括号、中括号、小括号)对应位置之间移动 %

    dd 删除一行

    4dd 删除四行

    u 撤销

    光标往后的内容删掉 D (或者d$

    d0 向前删除

    0 移动到行首

    $ 移动到行尾

    选中某段字符删除:

    按v进入可视模式

    然后hjkl来移动光标选中你想删除的内容

    然后d

    其实d就是剪切 没有单纯的删除 剪切到缓存池里

    粘贴是p

    p 往光标所在的后面粘

    复制 yy

    复制三行 3yy

    P 往光标所在字符前粘贴

    u 撤销

    ctrl+ r 重做

    查找:

    在命令模式下按/ (注意这不是末行命令 只有你按了: 才是末行命令)

    然后 n 查找下个

    比如int tmp变量了

    想查找一下tmp在哪里被用到了

    把光标移到tmp上 然后按*号

    替换:

    将一行进行替换

    光标移动到要替换的单词上

    然后进入末行模式

    :s /printf/println

    通篇全部进行替换:

    :%s /printf/println/g

    :%s /printf/printfln 替换每行的第一个要替换的字符串

    将24到28行的println替换成printf

    :24,28s /println/printf/g

  • 相关阅读:
    移动端必备rem布局
    个人工作经历、近些日来一些面试总结
    JavaScript面向对象核心知识归纳
    微信开发工具下载地址
    每天运动步数周月切换显示
    爬虫-requests
    django请求生命周期,FBV和CBV,ORM拾遗,Git
    Django + Uwsgi + Nginx 的生产环境部署
    沈阳润才教育CRM
    网络编程
  • 原文地址:https://www.cnblogs.com/eret9616/p/10775746.html
Copyright © 2011-2022 走看看