LawsonAbs的认知与思考,望各位读者审慎阅读。

总结
  • 文章来源:CSDN_LawsonAbs
  • 持续更新~

新建用户

新建用户有很多种命令,这里建议使用 adduser。下面给出一个创建用户lawson的案例来表示这个过程,结果如下:
Linux基本命令行_Linux

  • 新建用户:useradd [用户名];
  • 修改用户名:usermod -l(注:字母L的小写) [想要的用户名] [已存在的用户名]
    修改完用户名之后,必须修改其group的名称。
  • 修改group名称:groupmod -n [newGroupName] [presentGroupName]
  • 删除用户名:userdel [欲删除的用户名]
  • 显示当主机名:hostname 显示当前计算机的主机名
    - 修改主机名:使用vi编辑器修改网络配置文件:vi /etc/sysconfig/network
    将之前的主机名改为想要的主机名:vi /etc/hosts
    同时修改主机名,使用reboot命令重启计算机。再次登录使用hostname即可查看更新。
  • 查看当前路径:pwd;
  • 由root账户回到一般账户【LittleLawson】命令:su -l LittleLawson
  • 更新数据库表的:updatedb
  • 循环创建父子目录时,需要使用-p,比如,当想创建/usr/hadoop时,若文件目录中没有/usr,则需要使用-p
    命令:hadoop fs -mkdir -p /usr/hadoop
    效果:会产生一个/usr/hadoop目录
  • 循环删除父子目录,使用-r
  • 查看Linux系统版本:cat /etc/issue
  • 更改文件权限:chmod 777 xxx.txt
  • 命令vi ~/.bashrc与命令vi ./.bashrc的效果是一样的。因为~的意思是home,‘.’的意思是当前目录的意思。
  • 若遇到vi ll这种命令无法使用的情况,而这种情况又是发生在刚刚对配置文件:/root/.bashrc文件中的path做了修改,那么问题肯定是出在这个上面。可以这么解决:1.在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。命令执行完之后先不要关闭终端。 2.在命令行中输入 vi /etc/profile 或者是vi /root/.bashrc将path恢复过来。
  • yum和apt-get的区别
    一般来说著名的linux系统基本上分两大类:
  • 1)RedHat系列:Redhat、Centos、Fedora等
  • 2).Debian系列:Debian、Ubuntu等
    RedHat 系列
  • 1) 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
  • 2) 包管理工具 yum
  • 3) 支持tar包
    Debian系列
  • 1) 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
  • 2) 包管理工具 apt-get
  • 3) 支持tar包
  • 查看文件:使用G使光标调到最后一行;使用gg使光标回到首行,nG可以移动光标到第n行。
  • 查看hadoop节点运行情况:hadoop dfsadmin -report
  • 查看文件的倒数几行:tail [-nk] [文件名]。这里的-nk是查看文件倒数第k行到最后一行中文件的内容。
  • 查看 文件的前几行:head [-nk] [文件名]。
  • 如何调试 bash 脚本:将 -xv 参数加到 #!/bin/bash 后
  • 如何拼接两个字符串:str1=hello;str2=world;str= s t r 1 str1 str1str2;echo str;
  • 执行两个数的加法:
  • 1)expr 1+3
  • 2)echo $[ 1 + 3 ]//这里的echo 是为了显示出计算的结果
  • 3)使用bc命令—>再输入表达式
  • 检查某目录上的文件是否存在?或者是为一个目录
#!/bin/bash
#check that the files exists.
addr=/home/hadoop/test.txt
if [ -d  $addr ]
then echo $addr is a directory
elif [ -e  $addr ]
then echo $addr is a file
fi 
  1. 每个脚本开始的 #!/bin/sh 或 #!/bin/bash 表示什么意思 ? 这一行说明要使用的 shell。#!/bin/bash表示脚本使用 /bin/bash。对于 python 脚本,就是 #!/usr/bin/python。(注:这一行称之为释伴行)

  2. 如何获取文件的某一行内容:head [-row] [fileName]| tail -1,其中row是代表某行的数字,fileName代表的是需要查看的文件名。
    这句代码的意思是:将fileName文件的前十行作为数据源,重定向到tail中,但是只看tail中的倒数第一行,结果就是:查看fileName文件的第row行。

28. name=John && echo ‘My name is $name’?输出是My name is $name
** 29.’ 和 " 引号有什么区别 ?**

  • 1)":使用双引号时,除了$,`之外的字符全都被解释为字符本身;
  • 2)’:单引号,在单引号中所有的字符包括特殊字符($,’’,`和\)都将解释成字符本身而成为普通字符。
  • 3)`:反引号,反引号中的内容会作为命令使用。----命令替换

30. 标准输出和标准错误输出重定向【理解暂不深刻】
在Linux中,所有的东西都被认为是文件。标准输入与标准错误输出也是一样。标准输出在文件系统中使用字符1代替,标准错误输出在文件系统中使用2代替。于是我们就经常看到这样的代码:

  • 1)
  • 如何使用echo获取一个字符串变量的某一部分?
    代码如下:
#!/bin/bash
check the condition 
str='my name is LittleLawson'
str2="my name is LittleLawson"
echo the str1 is : ${str:3:4}
echo the str2 is : ${str2:3:4}
  • 如何获取变量长度 :${#variable}
  • 如何打印变量的最后 5 个字符 :echo ${variable: -5}【注:-5前的-前有一个空格】
  • echo ${variable: -5}【-前有空格】echo ${variable:-5}【前无空格】二者的区别?
  • 1)第一个输出的是variable变量的最后5个字符;如果字符长度不够5个,则输出整个字符
  • 2)第二个输出的是变量variable的值
  • 如何将整数 a 加到 b 并赋值给 c:c=$((a+b))
  • 关闭防火墙命令:
    service iptables stop

###Linux基本命令行[适合系统为Centos 6.5]

  • 1.新建用户:useradd [UserName];
  • 2.修改用户名:usermod -l [newUserName] oldUserName]修改完用户名之后,必须修改其group的名称。(注:字母L的小写)
  • 3.修改group名称:groupmod -n [newGroupName] [presentGroupName]
  • 4.删除用户名:userdel [欲删除的用户名]
  • 5.显示当主机名:hostname 显示当前计算机的主机名
  • 6.修改主机名:使用vi编辑器修改网络配置文件
    vi /etc/sysconfig/network
    将之前的主机名改为想要的主机名
    vi /etc/hosts
    同时修改主机名
    使用reboot命令重启计算机。再次登录使用hostname即可查看更新。
  • 8.查看当前路径:pwd;
    9.由root账户回到一般账户【LittleLawson】命令:su -l LittleLawson
    10.更新数据库表的:updatedb
    11.循环创建父子目录时,需要使用-p,比如,当想创建/usr/hadoop时,若文件目录中没有/usr,则需要使用-p
    命令:hadoop fs -mkdir -p /usr/hadoop
    效果:会产生一个/usr/hadoop目录
    12.循环删除父子目录,使用-r
    13.查看Linux系统版本:cat /etc/issue
    14.更改文件权限:chmod 777 xxx.txt
    15.命令vi ~/.bashrc与命令vi ./.bashrc的效果是一样的。因为~的意思是home,‘.’的意思是当前目录的意思。
    16.若遇到vi ll这种命令无法使用的情况,而这种情况又是发生在刚刚对配置文件:/root/.bashrc文件中的path做了修改,那么问题肯定是出在这个上面。可以这么解决:1.在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。命令执行完之后先不要关闭终端。 2.在命令行中输入 vi /etc/profile 或者是vi /root/.bashrc将path恢复过来。
  • 17.yum和apt-get的区别。
    一般来说著名的linux系统基本上分两大类:
    RedHat 系列 :Redhat、Centos、Fedora等
  • 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
  • 2 包管理工具 yum
  • 3 支持tar包
    Debian系列 :Debian、Ubuntu等
  • 1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
  • 2 包管理工具 apt-get
  • 3 支持tar包
  • 18.查看文件:使用G使光标调到最后一行;使用gg使光标回到首行,nG可以移动光标到第n行。
  • 19.查看hadoop节点运行情况:hadoop dfsadmin -report
  • 20.关闭Linux的防火墙
    使用命令 service iptables stop
  • 21.命令top:类似window的任务管理器,可以查看到当前运行的进程。display Linux tasks
  • 22.命令w:可以查看当前系统上有哪些正在运行的用户,并且这些用户正在做什么。Show who is logged on and what they are doing.
  • 23.查看主机名:hostname或者使用echo $HOSTNAME
  • 24.区别:
    • (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
    • (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
  • 25.scp命令【见链接https://blog.csdn.net/liu16659/article/details/80942109】
  • 26.ls -all命令可以查看文件夹(文件)的权限。相应的可以使用chmod命令对其进行修改
  • 27.返回上两级目录:cd …/…
  • 28.返回上一级目录:cd …