您的位置:首页 > 运维架构 > Linux

linux常用命令文档!

2018-03-30 15:50 190 查看
第一部分:linux常用命令整理
一、文件操作 备注:tab(补全),type(命令属性) help(内部命令帮助) 命令 --help(帮助)
       ls   查看目录信息  ( ls /  ) ls -a 连同隐藏文件
       pwd   查看当前所处的路径   
       cd   切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~
       mkdir 创建文件夹
       rmdir 删除文件夹(只能删除空的)
       rm -rf /a/b (可删除非空文件夹或文件)
    rm filename (删除文件)
    cp srcFile destFile 拷贝文件(cp -r拷贝文件夹)
    mv a/file0.txt b/file1.txt 移动文件并改名
    find  ./ -name a* 查看./路径下名字以a开头的文件
    touch a.txt创建一个空文件
    wc   统计文本信息(行数,词数,字符数)
     date  查看或者修改系统的日期和时间
    【压缩打包命令】
    ---------------------------------------------------
    gzip  压缩,并且原文件没了
    gzip -l 查看压缩文件信息
    gzip -d 解压
    tar 打包
    tar -zcvf aaa.tar aaa.txt bbb.txt   //打包并压缩2个文件
    tar -zxvf aaa.tar //解压打包压缩文件
二、文件编辑查看命令
    vi blabla.txt 用文本编辑器编辑一个文件并且保存
    ------------------------------------------------
    1)3个模式 , 进入是普通模式,按i进入编辑模式,按:进入底行模式,esc从编辑模式变成普通模式
    2)普通模式-光标移动
        [h j k l ] : 左下上右 (或键盘方向键)  【数值+】(表示前面可接数值操作,后面省略...)
        [ctrl  f]  : 上一页  [ctrl  b] :下一页  
        [0] / [$] :  移动到当前行头/行尾  [w] :下一单词  :前一个单词
        [shift  g] : 最下面   [gg] : 最上面   【数值+】[shift+g] : 文本的多少行
        【数值+】 [enter] : 当前行下面多少行 ,【数值+】 [-] : 反之
    3)普通模式-搜索
        /word  : 向下搜索  ?word :向上搜索  
    4)普通模式-复制,删除,撤销 等操作
        [x] : 删除一个 【数值+】
        [dd] : 删除一行 【数值+】
        [yy] : 复制 [p]:粘贴  [y0] :复制到行头 [y$]:复制到行尾
        [u] : 撤销  [ctrl + r] 重做
    5)底行模式
        [:wq]    储存后离开,若为 :wq! 则为强制储存后离开 (常用)
        [:q!]    若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
        [:w]        写入文档  若文件属性为『只读』时,强制写入该档案。能不能具体还看权限
        [:n1,n2s/xxx/xxx2/g] : 从n1-n2行将xxx替换成xxx2  :n1,n2换:$全局替换
        [:set nu]行号 [:set nonu]取消行号
    ------------------------------------------------
    echo  输出字符串或者变量的值
    echo "hello world" > aa.txt 把字符串输出到文件中
    cat aa.txt  查看文件内容
    more aa.txt  //查看文件一行行, q退出
    less aa.txt //查看一页文件,q退出 pageUp 上 pageDown 下
    tail -10 aaa.txt   查看文件的尾部的10行
    tail -f bbb.log   实时刷新显示文件的尾部
    head -20 aaa.txt 查看文件的头部20行

[b]三、用户和权限管理

    添加用户和设置密码和删除用户
    useradd  wj    passwd wj       userdel wj  (-f强制)

    修改用户属性
    usermod -l b a 将a的登陆名改为b
    usermod -g hadoop www 将www的组改为hadoop组
    usermod -G hadoop,root www  给www添加两个组hadoop,root

    修改用户的密码  : echo wj | passwd --stdin wj
    添加和删除和修改用户组 groupadd 用户组 groupdel 用户组 groupmod 用户组
    查看当前登陆的身份
    whoami  (简写who)
    查看当前用属的组
    groups
    ####################################文件权限管理
    chmod  u+rwx file 为file添加或取消所属用户的权限 (u代表所属用户  o代表其他用户  g代表所属组的成员用户)
    chmod  567  file  用数字也可以表示权限 (5 --->  101 ---> r-x)
    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名
四、网络和系统管理
    ############将hadoop用户添加到sudoers文件中去(用root身份来操作)
    vi /etc/sudoers        root ALL=(ALL) ALL  hadoop  ALL=(ALL)  ALL
    su : 可以切换用户(如 su hadoop/su root)  sudo : 临时切换成root用户
    ------------------------------------------------------------------
    top  看实时的进程信息
    ps -ef   全部的进程
    ps -aux  显示所有瞬间进程状态
    kill -9 pid 杀死进程
    setup  修改ip地址的图形界面
    ifconfig   查看ip地址
    ping  查看网络连接
    netstat -antp  查看进程tcp端口
    ############管理内网的主机名---ip地址映射
    vi /etc/hosts
    192.168.2.250  xxx
五、linux中的软件安装 (alt+p,上传 put)
    6.1 -----------如何安装jdk?
    tar -zxvf jdk-7u65-linux-i586.tar.gz -C ./app/   解压安装包到 当前目录的app目录下
    1、然后修改环境变量  
    sudo vi /etc/profile
    export JAVA_HOME=/home/wj/app/jdk1.7.0_65
    export PATH=$PATH:$JAVA_HOME/bin
    2、保存后,跳到cd(本机目录) 执行
     source /etc/profile , echo $JAVA_HOME 来生效
六、其他设置(机器设置)
关机 shutdown  -r 关机重启  -h 不重启  halt 关机,关闭电源  reboot 重启
    sudo init 3 //关闭图形界面   sudo init 5或6 //打开图形界面
永久性关闭防火墙:
  #chkconfig --level 35 iptables off

第二部分 、shell 脚本入门范例。

8.【1】 字符串
str=http://localhost:8080/index
echo "字符串的长度:${#str}"
echo "字符串用#*?截取${str#*/}" #结果/localhost:8080/index
echo "字符串用##*?截取${str##*/}" #结果index
echo "字符串用%?*截取${str%/*}" #结果http://localhost:8080
echo "字符串用%%?*截取${str%%/*}" #结果http:
echo "预测http:"
echo "截取前面6个${str:0:6}"  #结果http:/
echo "从2开始截取${str:2}" #结果tp://localhost:8080/index

8.【2】数组和循环
my_arr=(a b c "b")
echo "第一个元素为:${my_arr[0]}"
echo "第二个元素为:${my_arr[1]}"
echo "第三个元素为:${my_arr[2]}"
echo "第四个元素为:${my_arr[3]}"
echo "所有的元素是:${my_arr[*]}"
echo "元素的尺寸是:${#my_arr[*]}"
for i in ${my_arr[*]}
do
echo ${i}
done
m=0
while [ $m -lt ${#my_arr[*]} ]
do
  echo ${my_arr[$m]}
  let m+=1
done

8.【3】 运算符

aa=10
bb=20
res1=`expr $aa + $bb` #备注 运算符左右要空格,运算要用`包围(是esc下的按钮)
echo $res1
echo "$[10+10]" #$[]内可以执行算术
###############
if [ $aa == $bb ]
then
   echo "aa 等于 bb"
fi
if [ $aa != $bb ]
then
   echo "aa 不等于 bb"
fi
#############
if [[ 10 -lt 100 && 10 > 5 ]]
then
   echo "返回 true"
else
   echo "返回 false"
fi
##############
#if [ "a" = "a" ]
if [ "a" != "a" ]
then
echo "true"
else
echo "false"
fi
8.【4】 文件测试
-e (文件存在) -r(文件可读) -w (可写) -x(可执行) -d (目录) -f(普通文件)
cd /bin
if test -e ./bash
then
    echo '文件已存在!'
else
   
9131
echo '文件不存在!'
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: