Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】

时间:2023-03-10 04:17:23
Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】

学习命令的方法:linux中所有操作都是命令操作,可想而知命令有多少,更严重的是每个命令有很多参数,记命令容易,记参数就难了,所以建议:

  自己准备一个博客,把通常用到的命令及其功能记载下来,用到的时候打开博客,复制粘贴就行:xshell的复制快捷:shift+insert,粘贴快捷:ctrl+insert。

命令基本格式:命令 [-参数] [参数值],例如ls -la /etc

  1. 文件处理命令:要严格区分文件和目录的区别,这在linux中有区别,导致命令有区别
    1. pwd:显示当前目录全路径
    2. ls、ll:查看该目录下的文件
      1. -a:all的意思,查看当前目录下的隐藏文件
      2. -l:long的意思,长显示,ls -l与ll一样的效果
      3. -d:directory的意思,表示只显示目录本身,而不现实目录下的文件
      4. 只看指定目录:ls -l /指定目录
      5. -i:identity的意思,表示查看该文件的ID号
    3. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】重点讲解这些信息的意思:
      1. 文件类型  d:表示目录,-:表示文件,l:表示软链接
      2. u所有者    r:表示读权限,-:表示没有该权限
      3. w:表示写权限,-:表示没有该权限
      4. x:表示执行权限,-:表示没有该权限
      5. g所属组         r:同上
      6. w:同上
      7. x:同上
      8. o其他            r:同上
      9. w:同上
      10. x:同上
      11. 7 :表示技术类型,不做了解
      12. root:表示该文件的所有者
      13. root:表示该文件的所属组
      14. 4096:表示文件大小,单位为字节,使用-h参数,单位改为k
      15. Jan 28:表示创建时间
      16. 最后一个:表示文件名
    4. mkdir:make directory的意思,表示创建目录。例如:mkdir ./newdir,表示在当前目录下创建目录newdir
      1.   -p:递归创建目录,例如:mkdir -p ./newdir01/newdir02 mkdir -p ./newdir03/newdir04 ,表示递归创建两个目录,记得中间的空格分隔
    5. cd:change directory的意思,表示切换目录
      1.   .(点):表示当前目录
      2.   ..(两个点):表示当前目录的上级目录
      3. /(正斜杠):表示根目录
    6. rmdir:remove empty directory的意思,表示删除空目录,但是不能删除非空目录
    7. cp:copy的意思,表示复制。记住多用cp,少用mv:move移动
      1. cp /xxx/xxx/文件名 /bbb/bbb/可以有文件名-重命名,也可以无文件名-原名  (注意空格分隔)
      2. -r:复制目录,没有-r参数,只能复制文件
      3. 多复制:cp /xxx/xxx/文件01 /xxx/xxx/文件02 /bbb/bbb
      4. -p:保存文件的属性。不适用该参数,表示复制后的文件相当于新建的文件,像文件的创建时间会更新;如果使用,相当于文件的创建时间一同复制
    8. mv:move的意思,表示剪切。少用该命令:因为你在复制大文件的时候,机器突然间出现问题,有可能导致文件丢失,同时,这也很“不透明”操作,你应该先使用cp命令复制成功了,然后测试检测复制后的文件,最后删除rm复制前的文件。
      1. 使用mv命令重命名:mv 文件01 文件02 :这样在所在目录中文件名从文件01改为文件02
    9. rm:remove的意思,表示删除。使用rm前必须考虑,要不要cp,如果不要cp,麻烦看准rm后面的参数,到底删的是不是要删的文件,在linux没有“回收站”的概念,在删除的使用它会问你确定删除吗,输入y确认。
      1. -r:recursion的意思,表示递归删除。一定要少使用该参数。
      2. -f:force的意思,表示强制删除,不需要使用y确认。一定少使用该参数。  
    10. touch:创建文件
      1. 重点在于touch的文件放在什么地方,例如:touch test.txt :在当前目录创建文件,touch /xxx/xxx/test.txt:在指定目录创建文件
      2. vim 文件名:也是创建文件,如果有该文件,则打开而不重复创建。
      3. 文件名命名规则:不要使用空格,否则它创建两个文件;如果非得创建空格,例如 touch "xxx bbb",这样文件名就是xxx bbb。
    11. cat:查询文件内容,不适用显示长内容
      1. -n:number的意思,显示行号
      2. tac:倒着显示内容
    12. more:分页显示,适合显示长内容
      1. 按空格space键进行分页显示
      2. 按回车enter键进行换行显示
      3. 按ctrl+c退出
    13. less:分页显示,与more相似,但有更强的功能:进入less界面,向上翻页,换行
      1. 在less界面,使用shift+pgup向上翻页,使用shift+pgdn和回车键向下翻页,使用空格键或下箭头向下换行,使用上箭头向上换行
      2. 在less界面,使用/xxx进行搜索xxx字符的内容,它会以高亮来显示。
      3. 使用q字母退出
    14. head:看文件的前面内容
      1. -n 查看文件的前n行,例如:head -n 5 ./test.txt
    15. tail:看文件的后面内容
      1. -n 查看文件的后n行,例如:tail -n 5 ./test.txt  
      2. -f 动态显示,这个参数非常适合来查看日志——这是经验,而且给人带来一点黑客的感觉,黑客电影中那些电脑的执行情况动态显示。
    16. ln:link的意思,表示链接,这里特别强调是硬连接
      1. 在不使用-s的情况下,创建的是硬连接。用途:相当于复制一个文件—与cp不同在于其可以实时两个文件同时更新—》有备份作用,共享共同编辑作用。例如:向test.txt中添加字符“aaaaa”,在其硬链接文件中也同时更新添加“aaaaa”字符串。局限性:不能跨分区,不能对目录创建硬链接。
      2. -s:soft的意思,表示创建软链接,例如 ln -s /xxx/bbb/文件名01 /ccc/sss/链接名01。用途:相当于快捷方式,权限对任意开放,但不影响源文件的权限。
      3. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
    17. cut命令:通常用于输出展示
      1. 例如:查看所有用户,只看用户名:
        1. 不使用cut命令,显示全部内容; Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
        2. 使用cut命令,例如:cat /ect/passwd | cut -f 1 -d :    (  |  管道符     -f:表示field,字段的意思,后面的1表示第一个字段  -d : :分割符,后面的英文冒号是分隔符)

          1. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】显示分割后的内容,更简洁。
        3. asdf
      2. ads
    18. | 管道符,作为流的输出和输入
      1. 管道符(|)之前的命令的输出作为管道符(|)后面的输入
      2. 例如:
    19. asdf
  2. 权限管理命令chmod和chown和chgrp和umask
    1. chmod:change the permissions mode of a file,表示更改一个文件的权限,用法:chmod u+x(或者其他赋权写法) 文件名
    2. chmod u+x:u表示文件所有者,+表示增加权限,x表示执行权限,可以多个权限,例如chomd u+rwx
    3. chmod g+x:g表示文件所属组,+同上,x同上
    4. chmod u-x:-表示删除权限
    5. chmod g=rwx:=表示直接指定,如果是chmod g=rw,相当于删除该文件的x权限
    6. -R:使用chmod改变目录的权限,并不能改变目录下的文件的权限,如果使用-R参数则可以递归修改子文件的权限
    7. 注意:如果一个文件的其他人o用户是没有w权限的,那么除了root用户和创建者外,其他人是不能向文件中写入任何数据,但是它是有可能被任何人删除的,原因在于其他人o用户可能有对该文件所属目录的w权限。删除这个动作是对目录的增删权限,而不是对文件的写入字符或者删除字符的操作。所以我们在赋权的时候一定记得要赋予目录的权限后才能去赋予文件的权限。
    8. 数字法:
      1. r-4,w-2,x-1
      2. rwx=7,rw=6,rx=5,wx=3
      3. chmod 777 test.txt :表示给test.txt赋权chomd u=rwx g=rwx o=rwx test.txt
    9. chown:change file ownership,意思是改变文件或者目录的所有者,只有root超级用户才有这种权限
      1. 命令语法:chown 用户名 文件或者目录名
      2. 用途:当你想把某个目录或者文件交给其他用户处理,这种方式更常用。
    10. chgrp:更改文件或者目录所属组
      1. 命令语法:chgrp 所属组名 文件或者目录名
      2. 这样导致所属组都会处理该文件或者目录名
    11. umask 
      1. -S :显示当前用户创建目录时的默认权限
      2. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
      3. 如果没有-S的话,会显示一串数字,其实它也表示当前用户权限,只是用数字表示,最好不要去修改它,因此不做研究。
      4. 当前用户在创建文件时,该文件默认是没有执行权限x,是为了安全起见,所以每次新建一个可执行脚本时,还要给它赋权x。
  3. 文件搜索命令find和grep(在系统运行高峰期少用find,或者将搜索范围缩小,或者匹配条件精准化)
    1. find [搜索范围,也就是目录] [匹配条件]
    2. -name,需要搜索的文件名,例如:find /etc -name init
    3. 模糊匹配:
      1. *:匹配任意字符
      2. ?:匹配单个字符
    4. 在linux严格区分大小写
    5. -iname:不区分大小写
    6. -size:根据大小查找
      1. 注意linux存储的最小单位是数据块:1数据块=512字节=0.5K,也就是说1K=2个数据块
      2. 如果要查找大于10M的文件,先换算:10M=10240K=2*10240个数据块
      3. 所以:find / -size +20480——》找出大于10M的文件
      4. +:表示大于
      5. -:表示小宇
      6. 没有符号:例如find / -size 20480表示找出等于10M的文件
    7. -user:根据所有者查找
      1. find /home -user xxx:找出 xxx的所有文件
    8. -group:根据所属组查找
      1.   同上
    9. 根据文件的属性更改来查找
      1. 查找10分钟内被更改的文件:find / -cmin -10 ("-"表示10分钟以内,cmin中的c表示change,是文件属性的改变,min表示mimute分钟的意思)
      2. 查找10分钟内被访问的文件:find / -amin +10 ("+"表示超过10分钟,amin中的a表示access,文件被访问,min表示mimute分钟的意思)
      3. 查找10分钟内被的文件:find / -mmin 10 ("什么符号也没有"表示刚好10分钟,mmin中的m表示modify,文件内容的改变,min表示mimute分钟的意思)
    10. 至于其他的文件查找的方式:根据遇到的问题去百度,再此不再做讲解。
      1. -a :and的意思,两个条件同时满足
      2. -o:or的意思,满足其中一个条件
    11. -type
      1. f:文件
      2. d:目录
      3. l:软链接文件
      4. 例如:find / -cmin -10 -a -type f :表示:10分钟以内属性被更改并且类型是文件(不包括目录)的文件
    12. 对搜索结果执行操作
      1. -exec {} \;  或者 -ok {} \;  -exec和-ok命令功能相似      {}:查找到的结果集
      2. 例如find ./ -name init -exec ls -l {} \;  表示:每次查找到当前目录的init文件,就执行ls -l操作一次
      3. 例如find ./ -name init -ok ls -l {} \;  表示:和上面不同之处在于每次它查找文件都要询问一遍,你只需回答y,或者n
      4. 就我使用产生的悲催:我在使用find命令的时候,没有使用-name,导致每次执行-exec前面的命令一次就执行后面的命令一次,如果这个时候执行rm操作,将导致难以挽回的灾难。
        1. 实验:newdir01中有两个文件
        2. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
        3. 我要查找哦test01.txt就删除,但是我在使用find时没有使用-name参数,即:find ./ test01.txt -exec rm {} \;
        4. 我们看到他居然把test02.txt文件也一同删除了Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
        5. 所以在使用-exec或者-ok时,务必保证写上-name参数
    13. -inum:根据每个文件的id来查找
      1. 例如:find ./ -inum 23423    
    14. 关于locate的命令,我不做要求,很多时候用不着,只需知道
      1. find是全盘扫描,速度慢
      2. locate在文件资料库中查找文件,速度快
      3. locate命令需要安装相应的库文件,否则报出:bash: locate: command not found,意思是没有这个命令,具体怎么操作百度。
    15. grep命令必知必会
      1. grep:搜索字符串,查看指定文件中的字符串,并把这行字符串列出来
      2. -i:不区分大小写
      3. -v:排除某些字符串,例如grep -v ^# ./test01.txt。^:表示开头,#:在linux文件中表示注释。经验:为了不去查找linux配置文件的注释行,使用-v把这些行排除。
    16. 不定时更新
  4. 帮助命令
    1. man:manual的意思,指的是手册
      1. 举例:man ls
      2. 不重点讲解,懂英文就好
      3. 使用q字母退出,空格键换页,回车换行
      4. 使用/进行查找相应的参数,举例:在man界面,输入/-l,那么所有-l都会高亮。
      5. 可以使用man查看某些配置文件的的手册,举例:man service,他就会输出service这个配置文件的手册,这样就能在修改这个配置文件时就有依据。——不做要求,只做了解。
    2. whatis :可替代man,更见解
      1. 举例:whatis ls,whatis service
    3. --help:常用的帮助命令,举例:ls --help
    4. help:举例:help cd 。 help这个帮助命令能输出linux的shell内置命令,比如cd就是内置命令,使用cd --help,whatis cd,man cd,都是无法输出cd的帮助信息的,只能使用help cd才能输出它的帮助信息。
    5. info:举例:info ls,这个命令和man类似
  5. 用户管理命令
    1. useradd 用户名,举例:useradd lirenhe
    2. passwd 用户名,它会弹出个让你输入密码的小界面,输入密码就行
    3. 每个用户都可以更改自己的密码,但是root可以更改任何人的密码;同时注意:密码的复杂度问题。如果密码太简单会更改不成功,经验:lirenhe  将     i——>$, e——>@;所以lirenhe——>l$r@nh@,这样这个密码也就很难破解,并且对自己而言,也很容易记忆。
    4. who:查看登陆用户信息
      1.   Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】
      2. tty表示本地登陆
      3. pts表示远程终端登陆,后面的ip是远程主机的ip,这样就能判断是否被黑了。
    5. uptime:机器连续运行时间
    6. w命令:查询用户登陆对本机的资源的使用
    7. 一个非常重要的情况:查看所有用户:
      1. vim /etc/passwd    查看第三个参数,凡是500以上的都是普通用户,其他的都是 系统用户
      2. 使用cut命令:cat /etc/passwd | cut -f 1 -d :
    8. adf
  6. 压缩解压命令
    1. zip扩展名的压缩和解压
      1. 压缩举例:zip file.zip file
      2. 解压举例:unzip file.zip
    2. gz扩展名的压缩和解压:只能压缩文件,不能压缩目录,压缩后源文件删除
      1. 压缩:gzip 压缩文件名
      2. 解压缩:gunzip 压缩文件名
    3. tar扩展名的压缩和解压:由于gzip不能压缩目录,所以需要打包——这也是“打包压缩”的由来
      1. tar -cvf 文件名
      2. -c:打包
      3. -v:显示详细信息
      4. -f:指定文件名
      5. -z:代表.gz的压缩包,-j:白哦是.bz或者.bz2的压缩包
      6. 在使用tar打包后对tar文件进行gzip压缩就得到了linux中常用的压缩文件扩展名(.tar.gz)
      7. 或者一步打包压缩,举例:tar -zcf file.tar.gz filedir
      8. -x:解包,举例tar -zxvf file.tar.gz
      9. -t:查看包中的文件列表
      10. -C:指定包解压释放到的目录路径
      11. 综上:我们创建tar包的基本命令:tar -cvf 打包后包名 需要打包的目录或者文件(注意空格),创建压缩的tar包:tar -zcvf 打包后包名 需要打包的目录或者文件(注意空格),
      12. 综上:我们解包的基本命令:tar -zxvf 包名,如果要解压到指定路径下:tar -zxvf 包名 -C 解压的路径
    4. bzip2:不做研究
    5. 对于没有进行用tar进行打包的压缩gunzip文件,可使用gunzip filename.gz进行解压。对于zip格式的压缩文件使用unzip filename.zip进行解压。
    6. 安装tar包:解压后,执行./configure命令进行编译准备,运行make开始编译,使用make install把编译后产生的文件复制到正确的位置。然后清楚临时文件:make clean。通常这些可执行文件都会安装到/usr/local/bin中。
  7. 网络命令
    1. ping
      1. -c:举例:ping -c 3 192.168.44.1 意思是ping IP 3次
    2. ifconfig,查询网卡信息,可以是ifconfig eth0 ip  修改本机网卡ip
    3. last:查看所有用户的登陆历史信息
    4. lastlog:不做要求
    5. tracerout或者tracert:追踪路由
    6. netstat:查询网络状态
      1. -t:TCP协议
      2. -u:UDP协议
      3. -l:监听
      4. -r:路由
      5. -n:显示ip和端口port
      6. -a:all所有
      7. 常用:-tlun   -an      -rn
      8. 最常用:netstat -an | grep “端口号”
    7. setup:centos或者redhat的专有命令,用来配置网卡。配置之后要 service network restart 
  8. 关机重启命令
    1. shutdown -h now:现在关机
    2. shutdown -h 20:40:20:40关机
    3. shutdown -r :重启
    4. shutdown -c:取消前一个关机命令
  9. 退出登陆命令
    1. logout退出登陆,就真实机中必须要使用logout退出登陆,相当于windows的win+l