Linux入门

Linux

常用命令

  • date 查看时间

  • cal 查看日历

  • clear 清屏

  • pwd 当前目录

  • ls 显示当前目录内容

  • ls -l 显示当前目录详细内容

  • cd 更改当前目录; cd .. 返回上一级

  • mkdir 创建文件夹

  • rmdir 删除文件夹

  • cp 复制 如:cp file1.txt file2.txt

  • cat 打开文件

  • diff 对比文件是否相同 如:diff file1.txt file2.txt

  • head 查看文件头部数据 如:查看文件前5行数据 head file1.txt -n 5

  • tail 查看文件尾部数据 如:查看文件后5行数据 tail file1.txt -n 5

  • wc 统计文件数据

    • 如:统计:wc file.txt 统计行数:wc -l file.txt 统计单词数:wc -w file.txt 统计字符数:wc -c file.txt
  • rm 删除

  • mv 修改或移动

    • 如:修改文件名:mv file1.txt file2.txt 移动:mv file.txt 文件夹名
  • less 文件浏览 按Q返回命令行

  • chmod 修改文件访问权限

    • 文件权限
      r:读	w:写	x:运行
      rwx		rwx		rwx
      u		g		o
      作者	  小组	其他
      二进制
      001		001		001
      --x		--x		--x
      010		010		010
      -w-		-w-		-w-
      100		100		100
      r--		r--		r--
      亦可通过十进制数字修改
      如:chmod 444 file.txt
      可和wc命令组合使用
      
    • 如:删除u的读权限:chmod u-r file.txt 增加u的读权限chmod u+r file.txt

  • grep 查找文件内容 如:grep test(正则表达式) file.txt;可和wc命令组合使用 如:grep a file.txt | wc -l

Shell Script

  • 运行脚本命令:sh test.sh;注释使用 “#”

  • 四则运算

    • #1、echo输出变量a[注:=两边不能有空格]
          a=10
          echo $a
      
      #2、a+b赋值给c
      #[expr命令,注:表达式需写在``内; +号两端需要空格,乘法运算符\*、括号\( \)需要加转义符"\"]
      
          a=10
          b=3
          c=`expr $a + $b`
          echo $c
      
  • 条件判断

    • if[条件]
      then
      	代码
      else
      	代码
      fi
      
      #(数值)比较运算符:
      !=	-ne		[not equal]
      >	-gt		[greater than]
      <	-lt		[less than]
      >=	-ge		[greater equal]
      <=	-le		[less equal]
      =	-eq		[equal]
      
      #字符串比较使用 "="
      
      #1、判断a是否大于b
          a=10
          b=3
      
          if[ $a -gt $b ]
          then
              echo $a
          else
              echo $b
          fi
      
  • 循环

    • for x in .....	[某些版本可使用{1 .. 10}]
      do
      	循环体
      done
      
      1、输出1-10
          for x in 1 2 3 4 5 6 7 8 9 10
          do
              echo $x
          done
      
    • while [条件]
      do
      	循环体
      done
      
      #1、当x小于10则执行循环体
          while [x -lt 10]
          do
              echo $x
              x=`expr $x + 1`
          done
      
  • 输入

    • #1 、
          echo "please enter a:"
          read a
          echo "please enter b:"
          read b
          c=`expr $a + $b`
          echo $a + $b = $c
      
      #2、
          password="hello123"
          echo "Please enter a password:"
          read usePassword
          #注:字符换比较使用 "=" or "!=",两边需留空格
          if[	&password = &usePassword ]
          then
              echo "密码正确"
          else
              exho "密码错误"
          fi
      
      #3、字符串拼接
          str1="hello"
          str2="world"
      
          str3="$str1 $str2"
          echo $str3
      
      #4、判断字符串是否为空
          str1="hello"
          str2="world"
          #-z		zero	
          #-n		not zero
          if[ -z $str1]
          then
          	echo "str1 是空的"
          else
          	echo "str1 不是空的"
          fi
      
      
  • 数组

    • #注:含有数组需使用 bash运行脚本	如:bash test.sh
      
      #1、数组
      	arr=(7 8 9 10 3 2 1)
      	
      	#只输出第1个元素
      	echo $arr
      	
      	#如需输出8,则
      	echo ${arr[1]}
      	
      	#输出全部
      	for i in  ${arr[@]}
      	do
      		echo $i
      	done
      	
      	#累加
      	sum=0
      	for i in ${arr[@]}
      	do
      		sum=`expr $sum + $i`
      	done
      		echo $sum
      	
      	#比较大小
      	max=${arr[0]}
      	for i in ${arr[@]}
      	do
      		if[ $i -gt $max ]
      		then
      			max=$i
      		fi
      	done
      	echo $max
      

其它

  • 环境变量

    • PATH=$PATH:路径 注:若使用PATH=路径则PATH被新路径覆盖而不是追加环境变量,echo命令可在命令行使用;
  • 压缩

    • zip

      • zip test.zip * 把当前目录所有文件及文件夹压缩到test.zip;
      • zip test.zip -r 文件夹名/* 把文件夹下所有文件及文件夹压缩为test.zip,若需要子文件也进行压缩需加 -r;
      • unzip test.zip 解压;
    • tar

      • 压缩tar -zcvf test.tar.gz 文件夹/ tar.gz是扩展名;

      • 解压tar -zxvf test.tar.gz 文件夹/

  • 下载

    • wget URL
posted @ 2023-06-30 16:57  _Kalfin  阅读(32)  评论(0)    收藏  举报