Linux高级命令

权限

r       //100 = 4
        //文件  :读取内容,
        //文件夹:是查看文件夹的内容
w       //文件  :写数据到文件
        //文件夹:增删文件.
        //10 = 2

x       //文件  : 运行程序
        //文件夹: 进入该目录.
        // 1 = 1

权限控制涉及范围

U:user  ,rwx r-x ---
G:group ,
O:other , 

修改文件的owner,change owner

chown -R root:root a.txt        //递归修改owner
chmod -R 777 xxx                //递归修改权限.

Linux文件夹

/               //根目录

/bin            //祖先
/sbin           //祖先
/usr/bin        //厂商
/usr/sbin       //厂商
/usr/local/bin  //用户
/usr/local/sbin //用户

/etc            //配置目录
/mnt            //挂载目录
/boot           //引导目录
/dev            //设备目录
/lib[64]        //库目录

-:文件 d:目录 l:link b:block,块设备 c:charactor,字符文件

创建连接文件

1.硬链接
    两个完全相同文件,类似于实时备份。两个文件之间完全同步。
    删除时,只删一个。
    目录不能使用硬链接。
    ln a.txt alink          //a.txt:目标文件, alink:连接名称.

2.符号连接
    相当于快捷方式.
    可以对文件,也可以对文件夹创建符号连接。
    符号连接存在的时候,可以删除目标文件。
    $>ln -s a.txt alink     //a.txt: 目标文件  alink:连接名称(symbolic)

sudo

临时借用root的权限执行命令,只在当前命令下有效。命令结束后,还是原来用户。
1.配置当前用户具有sudo的执行权利
    [/etc/sudoers]
    ...
    root ALL=(ALL) ALL
    centos ALL=(ALL) ALL
    ...
$>sudo chown -R centos:centos .

job

放到后台运行的进程.
1.将程序放到后台运行,以&结尾.
    $>nano b.txt &

2.查看后台运行的jobs数
    $>jobs

3.切换后台作业到前台来.
    $>fg %n             //n是job编号.

4.前台正在的进程,放到后台。
    ctrl + z

5.让后作业运行
    $>bg %1     //

6.杀死作业
    $>kill %1   //

进程查看,prcess show

$>ps -Af |grep gnome        //-A:所有进程  -f:所有列格式.

$>top                       //动态显示进程信息。含有cpu、内存的使用情况.
                            //q,按照q退出。

cut

剪切显示文件的每一行。
$>cut -c 1-5 a.txt                  //从第一个字符开始,下标从1开始。显示5列的内容
$>ps -Af | cut -c 45-80 | more      //

查看帮助

$>help          //查看os内置的命令
$>man ifconfig  //查看特定命令
$>ifconfig --help
$>ifconfig -h
$>info ifconfig //

磁盘分区使用

$>fdisk -l /dev/sda

查看磁盘使用情况(disk free)

$>df -ah /home/centos       //查看

dirname

取出指定地址的上级目录.(不一定真实存在)
$>dirname /a/b/c/d
$>/a/b/c

basename

取出当前地址的上级目录.
$>dirname /a/b/c/d
$>d

主机名

$>hostname      //显式主机名

$>修改主机名(sudo)
    [/etc/hostname]
    s200

配置主机名和ip地址的映射

[/etc/hosts]
127.0.0.1 localhost
192.168.231.200 s200

关机重启命令

$>reboot init6      //重启
$>halt          //停止,黑屏
                //halt -p  === poweroff
                //halt -r  === reboot
init0
$>poweroff      //关机
$>shutdown      //shutdown now,

命令嵌套

1.使用``
    $>echo `cat b.txt`  //命令解析,无法嵌套
    $>$(... $())        //(命令的解析,相当于``),但支持命令的嵌套
2.

创建用户

0.用户和组之间,一个用户可以属于多个组。
  但是有一个首要组。

1.adduser,等同于useradd
    符号链接。
    /usr/sbin/adduser --> /usr/sbin/useradd.

2.useradd
    $>su root
    $>useradd -m centos2
    增加密码:passwd centos2
        输入新密码.
        重复输入。-m创建家目录

3..删除用户-使用方法
    $>su root
    $>userdel -r centos2

访问文件(夹)物理位置

$>cd -P /t          //进入/t的物理位置
$>pwd -P            //显式当前目录的物理位置

访问环境变量

echo ${PATH}                //ok
echo $PATH                  //ok
echo "$PATH"                //ok
echo '$PATH'                //''原样输出

export定义环境变量,只在session中有效

$>export name=${PATH}:tom
$>export name=${Var1:-${Var2}}  //设置name为${Var1}的值,Var1没有设置为${Var2}的值。

命令执行过程

$?      //命令的返回值存储变量,0:成功 1:失败。
$#      //参数个数
$1      //第几个参数
$0      //当前脚本(命令)名称
$@      //取出所有参数
shift   //参数左移
${a/b/c}    //


算术参数
-lt less than        小于
-gt great than    大于
-ge great equal  大于等于
-le less equal     小于等于
-eq equal           等于

if

语法:

if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi

if [ $# -lt 3 ]; then xx ; fi

3,5

使用for循环输出1 - 100个数

for NAME [in WORDS ... ] ; do COMMANDS; done
for x in a b c d ; do echo $x ; done ;

打印直角形

#!/bin/bash
lines=5
for((x=1;x<=$lines;x=$x+1));do
    for((y=1;y<=$x;y=$y+1));do
    echo -n $y
    done;
echo ;
done
-n是换行

命令组合

a && b ;        //a成功后执行b,
a || b ;        //a失败后之后b;
a ; b           //无逻辑关系,改变目录
(a ; b)         //无逻辑关系,不改变目录

netcat

瑞士军刀。
[server]
nc -lk 8888     //-l : 监听
                //-k : 接受多个连接


[client]
nc ip 8888 ;    //客户端指定服务器端

windows下nc

1.配置环境变量path
2.常用命令
    cmd>nc -h                           //看帮助

3.启动服务器端
    cmd>nc -l -p 8888 -s 0.0.0.0        //通配ip

通过nc实现文件传输

0.使用重定向(输入|输出)。
1.server(centos)
    nc -l 8888 > a.txt ;

查看端口

netstat -anop   //显式网络情况
                //-a : 所有socket
                //-n : 显式数字地址
                //-p : pid
                //-o : timer

YUM

Yellow dog updater manager.
原文地址:https://www.cnblogs.com/yihaifutai/p/6804977.html