美文网首页我爱编程
《笨办法学Linux》学习笔记

《笨办法学Linux》学习笔记

作者: 盗花 | 来源:发表于2018-04-15 20:54 被阅读24次

    1.vim

    less中查看包含某些内容的行

    在输入less <file>后,输入&enable<ENTER>,则只显示包含enable的行。再次输入&<ENTER>后,退出过滤状态。

    2.一次性创建5个文件

    touch t{1,2,3,4,5}

    说明,{}表示扩展,上面的表达式类似touch t1 t2 t3 t4 t5{}除了用于touch命令,还可用于多个其他命令。

    3.把连续重复的字符替换为单独一个字符

    tr -s <字符>

    示例:

    ⇒  ls -al
    drwxr-xr-x  35 DQ  staff  1190  4 15 22:44 .
    drwxr-xr-x   5 DQ  staff   170  4 15 19:33 ..
    -rw-r--r--@  1 DQ  staff  6148  3  5  2017 .DS_Store
    drwxr-xr-x   8 DQ  staff   272  9 18  2017 .idea
    
    ⇒  ls -al | tr -s ' '
    drwxr-xr-x 35 DQ staff 1190 4 15 22:44 .
    drwxr-xr-x 5 DQ staff 170 4 15 19:33 ..
    -rw-r--r--@ 1 DQ staff 6148 3 5 2017 .DS_Store
    drwxr-xr-x 8 DQ staff 272 9 18 2017 .idea
    

    4.分割字段并输出

    cut -d <字符> -f <数字>

       -d, --delimiter=DELIM
              使用 DELIM 取代 TAB 做 字段(field) 分隔符
    
       -f, --fields=LIST
              输出 这些 字段
    

    示例:使用空格分割字段,并输出第8、第9个字段

    ⇒  ls -al | tr -s ' ' | cut -d ' ' -f 8,9
    
    22:44 .
    19:33 ..
    2017 .DS_Store
    2017 .idea
    

    5.任务放置于后台与唤醒至前台

    程序正在运行中,输入ctrl + z后,程序将被放置于后台运行,但此时程序实际上处于停止状态,输入bg后,程序在后台处于运行状态;输入fg后,程序将被唤醒至前台运行;输入jobs后,查看后台运行的任务数量及状态。

    6.忽略错误信息

    2> /dev/null

    解释如下:


    其中:
    0 —— stdin(标准输入)
    1 —— stdout (标准输出)
    2 —— stderr (标准错误)
    示例:
    没有加入2>/dev/null之前:
    virtual-machine:/etc$ find /etc/ -type d -name 'rc*'
    /etc/rc5.d
    find: `/etc/vmware-tools/GuestProxyData/trusted': 权限不够
    /etc/rcS.d
    find: `/etc/cups/ssl': 权限不够
    /etc/rc6.d
    /etc/rc0.d
    /etc/rc1.d
    find: `/etc/polkit-1/localauthority': 权限不够
    find: `/etc/ssl/private': 权限不够
    /etc/rc4.d
    /etc/rc2.d
    /etc/rc3.d
    

    加入2>/dev/null之后:

    virtual-machine:/etc$ find /etc/ -type d -name 'rc*' 2>/dev/null 
    /etc/rc5.d
    /etc/rcS.d
    /etc/rc6.d
    /etc/rc0.d
    /etc/rc1.d
    /etc/rc4.d
    /etc/rc2.d
    /etc/rc3.d
    

    7.开机启动信息

    1)显示开机启动信息

    rcconf --list

    dh-virtual-machine:~$ rcconf --list
    kerneloops on
    procps on
    bluetooth on
    tor on
    lightdm on
    console-setup on
    irqbalance on
    x11-common on
    keyboard-setup on
    cups on
    unattended-upgrades on
    rsync on
    cron on
    avahi-daemon on
    speech-dispatcher on
    ufw on
    whoopsie on
    saned on
    udev on
    thermald on
    anacron on
    brltty on
    apport on
    dbus on
    checkroot-bootclean.sh on
    apparmor on
    vmware-tools on
    resolvconf on
    plymouth on
    rsyslog on
    kmod on
    uuidd on
    ondemand on
    vmware-tools-thinprint on
    acpid on
    pppd-dns on
    alsa-utils on
    grub-common on
    plymouth-log on
    cups-browsed on
    network-manager off
    

    需要先安装rcconf
    2)禁用开机启动项

    sudo update-rc.d <启动项> disable

    示例:
    禁用tor的开机启动

    dh-virtual-machine:~$ sudo update-rc.d tor disable
    [sudo] dh 的密码: 
    
    dh-virtual-machine:~$ rcconf --list
    apparmor on
    cron on
    bluetooth on
    kerneloops on
    brltty on
    speech-dispatcher on
    udev on
    rsync on
    ondemand on
    lightdm on
    whoopsie on
    x11-common on
    plymouth-log on
    acpid on
    vmware-tools-thinprint on
    alsa-utils on
    resolvconf on
    saned on
    unattended-upgrades on
    kmod on
    pppd-dns on
    vmware-tools on
    plymouth on
    rsyslog on
    cups on
    console-setup on
    thermald on
    checkroot-bootclean.sh on
    anacron on
    irqbalance on
    procps on
    ufw on
    apport on
    avahi-daemon on
    keyboard-setup on
    dbus on
    grub-common on
    cups-browsed on
    uuidd on
    tor off  # 注意此处tor已经被禁用
    network-manager off
    

    3)启用开机启动项

    sudo update-rc.d <启动项> enable

    示例:
    启用tor开机启动

    dh-virtual-machine:~$ sudo update-rc.d tor enable
    
    dh-virtual-machine:~$ rcconf --list
    cups on
    acpid on
    keyboard-setup on
    x11-common on
    saned on
    unattended-upgrades on
    rsyslog on
    ondemand on
    irqbalance on
    whoopsie on
    uuidd on
    kmod on
    tor on  # 注意此处tor开机启动了
    dbus on
    plymouth-log on
    vmware-tools on
    avahi-daemon on
    brltty on
    apport on
    bluetooth on
    udev on
    alsa-utils on
    cups-browsed on
    checkroot-bootclean.sh on
    rsync on
    procps on
    console-setup on
    plymouth on
    pppd-dns on
    anacron on
    lightdm on
    ufw on
    grub-common on
    speech-dispatcher on
    thermald on
    cron on
    resolvconf on
    vmware-tools-thinprint on
    kerneloops on
    apparmor on
    network-manager off
    

    8.系统日志文件会越来越大,占满磁盘空间吗?

    如果日志文件留给自己,它们往往会变得非常大,并且消耗所有可用的磁盘空间,所以有一种称为轮替的机制。默认情况下,这种机制通常只保留最后 7 天的日志文件,包括今天。

    9.实时查看文件变化内容

    tail -f <文件名称>

    10.root用户的切换

    切换为root用户

    sudo -s

    退出root用户

    exit

    11.创建包含子文件夹的文件夹

    增加上-p参数即可:

    mkdir -p /<dir>/<children_dir>

    12.查看文件的依赖关系

    ldd <文件>

    示例:

    virtual-machine:~$ ldd /bin/bash 
            linux-vdso.so.1 =>  (0x00007ffc4ddb6000)
            libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fa33602f000)
            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa335e2b000)
            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa335a61000)
            /lib64/ld-linux-x86-64.so.2 (0x00007fa336258000)
    

    13.tar

    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件
    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

    下面的参数是根据需要在压缩或解压档案时可选的。
    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出

    下面的参数-f是必须的
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    14.更改文件权限

    chmod <xxx> <file>

    示例:

    dh@dh-virtual-machine:~$ touch gua
    dh@dh-virtual-machine:~$ ls -l gua
    -rw-rw-r-- 1 dh dh 0 4月  21 10:25 gua
    dh@dh-virtual-machine:~$ chmod 777 gua
    dh@dh-virtual-machine:~$ ls -l gua
    -rwxrwxrwx 1 dh dh 0 4月  21 10:25 gua
    

    15.更改文件所有者

    chown <所有者名称> <file>

    示例:

    dh@dh-virtual-machine:~$ touch test.txt
    dh@dh-virtual-machine:~$ sudo chown root test.txt  # 更改文件所有者
    dh@dh-virtual-machine:~$ ls -l test.txt 
    -rw-rw-r-- 1 root dh 0 4月  21 10:32 test.txt  # 所有者变成root用户
    dh@dh-virtual-machine:~$ chmod 644 test.txt 
    chmod: 更改'test.txt' 的权限: 不允许的操作  # 当前的用户组dh不具备操作的权限
    dh@dh-virtual-machine:~$ sudo chmod 644 test.txt 
    dh@dh-virtual-machine:~$ ls -l test.txt 
    -rw-r--r-- 1 root dh 0 4月  21 10:32 test.txt
    dh@dh-virtual-machine:~$ echo 'test111' > test.txt 
    bash: test.txt: 权限不够  # 当前的用户组不具备更改文件的权限
    

    16.查看网络主机之间的连通性

    ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

    ping <目标主机地址> <选项>

    目标主机地址可以为IP地址,或者为普通的网络地址,如baidu.com或者www.baidu.com,注意不要加http://
    常用的选项有:
    -c <数字>:表示发送了<数字>个包后自动停止ping程序。

    相关文章

      网友评论

        本文标题:《笨办法学Linux》学习笔记

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