Linux常用命令

Linux常用命令

  • 目录命令:增加目录
  1. mkdir [/路径/]目录名
  2. 删除目录rmdir [/路径/]目录名
  3. 改变目录
  4. 复制:cp 原路径 新路径 cp -r 复制文件夹
  5. 移动/重命名:mv 原路径 新路径
  1. 查看目录:
  2. 查看当前路径:pwd
  3. 切换到路径:cd
  4. 查看目录内容:ls
      1. -a展示所有文件(包括隐藏文件)
      2. -A(不包括当前目录.和父目录..)
      3. -l展示所有文件的详细信息
      4. -R递归查找所有子功能
  • 文件命令
  1. 创建文件
  1. touch [/路径/]文件名
  1. 删除文件
  1. rm [-r/i/f ][/路径/]文件名
  1. 改变文件

(1)同改变目录cp,mv

  1. 查看文件
  1. ls
  2. vi
  • 文件内容命令
  1. 查看文件内容
  1. cat 文件名
  2. head [-n] 文件名
  3. tail [-n] 文件名
  1. 增加文件内容
  2. 修改文件内容
  3. 删除文件内容
  • vi编辑器
  1. 模式:
  1. 查看模式:按a,A,i,I,o,O,insert键进入编辑模式,按:,/进入末行模式
  2. 编辑模式:按ESC键回到查看模式
  3. 末行模式:按ESC或者山删掉末行代码回到查看模式
  1. 快捷键:
  1. 快速定位:首行gg、末行shift+g、第n行ngg
  2. 进入编辑模式:
    • 在光标后插入:a
    • 在光标前插入:i
    • 定位到行尾插入:A
    • 定位到行头插入:I
    • 在下一行插入:o
    • 在上一行插入:O
  3. 复制:nyy
  4. 删除/剪切:ndd
  5. 粘贴:p
  6. 撤销上一次:u
  7. 替换:r:替换光标所在的字符,R:一直替换,直到ESC退出
  1. 末行模式命令:
  1. 退出::q
  2. 保存::w 保存退出::wq或者:x
  3. 强制:!
  4. 显示行号::set nu 不显示::set nonu
  5. 查找字符串:向下查找:/字符串 向上查找:?字符串
    • 继续查找下一个:n,继续查找上一个:N
    • 批量注释:%s/^/#/g
    • 批量取消:%s/#//g
  6. 替换字符串::s/要查找的字符串/替换后的字符串/g
  • 用户管理:
  1. 用户家目录:~
  2. 创建用户:useradd 用户名
  3. 修改密码:passwd 用户名
  4. 切换用户:su 用户名
  5. 删除用户:userdel 用户名
  • 权限管理
  1. drwxr-xr-x 文件夹的默认权限 755
  2. -rw-r--r--  文件的默认权限 644

首位标记文件类型:d是目录 -是文件 l是软连接
后9为切割为3个部分,分别代表用户自身(u),用户所在组成员(g),其他组成员(o)
Rwx:读、写、执行

改变文件/文件夹的归属 chown 
Chown 用户名:组名 文件名 把文件的归属用户改才对应的用户名,
归属组改才对应的组名

  • 主机名和主机列表
  1. 默认的主机名是localhost.localhostDomain
  2. 修改主机名的两种方式:
  1. vi /etc/hostname 在其中把[主机名]改成[新主机名](需要重启才能生效)
  2. hostnamectl set-hostname 新主机名
  1. 主机列表vi /etc/hosts在其中加上:主机ip地址 主机名
  2. ssh 用户名@主机名/ip地址:连接到对应的主机
  3. 添加互信:(每台机器都要对其他机器做下面的动作)
  1. 生成密钥:ssh-keygen
  2. 复制到密钥校验文件:cat .ssh/id_rsa.pub > .ssh/authorized_keys
  3. 传输到需要互信的机器:ssh-copy-id -i .ssh/id_rsa.pub -p22 用户名@主机名
  • 进程管理:
  1. 查看所有进程ps -ef ps -aux
  2. 查看某个应用ps -ef | grep 应用名
  3. 杀进程kill 进程pid,如需强制杀kill -9 pid
  • 软件安装
  1. 解/压包tar:
  1. 压包:
    • tar -zcvf 打包后的名称 打包前的目录
    • gzip 源文件 压缩为.gz文件 源文件会消失
    • 如果想保留源文件 使用命令gzip -c 源文件 > 压缩文件
  2. 解包:
    • tar -zxvf 需要解的包 -C 想要解压到的目录
    • Linux解压缩保留源文件的方法:gunzip -c filname.gz > filename
  1. 解压zip

unzip zipped_file.zip

unzip metallic-container.zip -d my_zip

  1. 在线安装yum
  2. 包安装rpm
  3. 容器安装docker
  • 远程传输

1.scp 文件路径 目标主机:/目标路径

  • 搜索查看grep

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符号所指定的范式样本,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或者所给予的文件名为-,则grep指令会从便准输入设备读取数据。

  1. 常与管道符|一同使用
  2. grep test test*#查找前缀为“test”的文件包含“test”字符串的文件
  3. grep test *file#查找后缀由file字样的文件包含test字符串的文件,并打印出该字符串的行。
  4. grep -r update /etc/acpi#以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi及其子目录(如果存在子目录的话)下所有文件中包含字符串“update”的文件,并打印出该字符串所在行的内容。
  • 查找:find

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录命。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并将查找到的子目录和文件全部进行显示。

  1. find . -name “*.c”#将当前目录及其子目录下所有延伸档名是c的文件列出来
  2. find . -type f#将当前目录及其子目录中所有一般文件列出
  3. find . -ctime -20#将目前目录及其子目录下所有最近20天内更新过的文件列出
  4. find /var/log -type f -mtime +7 -ok rm {} \;#查找/var/log目录中更改事件在7天以前的普通文件,并在删除之前询问它们
  5. find . -type f -perm 644 -exec ls -l {} \;查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的问及那
  6. find / -type f -size 0 -exec ls -l {} \;为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
  • 日期:date

date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲现实的格式,格式设定为一个加号后接数个标价。

  1. date
  2. date ‘+%D’#显示完整的时间
  3. date ‘+%T’#显示日期,年份用四位数表示
  4. date ‘+%x’#显示数字日期,年份两位数表示
  5. date ‘+%X’#显示24小时的格式
  • 计算数字:wc

wc命令用于计算字数。

利用wc指令我们可以计算文件的byte数、字数、或是列数,若不指定文件名称或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据

  1. -c或-bytes或--chars只显示Bytes数
  2. -l后--lines只显示行数
  3. -w或--words只显示字数
  4. --help在线帮助
  5. --version显示版本信息
  6. 在默认情况下,wc将计算指定文件的行数、字数,以及字节数。
  • 利用脚本来处理文本文件:sed

sed命令是利用脚本来处理文本文件。sed可以依照脚本的指令来处理、编辑文本文件。sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

  1. sed -e 4a\newLine testfile#在testfile文件的第四行后添加一行,并将结果输出到标准输出
  2. nl /etc/passwd | sed ‘2,5d’#将/etc/passwd的内容列出并且列印行号,同时,将第2~5行删除,sed的动作为’2,5d’,d就是删除,原本应该是要下达sed -e,没有-e也行,sed后面接的动作,务必以两个单引号括住
  3. nl /etc/passwd | sed ‘3,$d’删除第3到最后一行
  4. nl /etc/passwd | sed ‘2a drink tea\drink beer?’在第二行后加入两行字,drink tea和drink beer?
  5. nl /etc/passwd | sed ‘2,5c No 2-5 number’将第2-5行的内容取代为No 2-5 number
  6. nl /etc/passwd | sed -n ‘5,7p’列出文件内第5-7行
  7. nl /etc/passwd | sed ‘/root/p’搜索/etc/passwd有root关键字的行,如果root找到,除了输出所有行,还会输出匹配行。
  8. nl /etc/passwd | sed -n ‘/root/p’使用-n的时候将只会打印包含模板的行。
  9. nl /etc/passwd | sed -n ‘/root/d’删除/etc/passwd所包含root的行,其他行输出
  • 建立同步链接ln

当我们需要在不同的目录,用到相同的文件时,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它即可,不必重复的占用磁盘空间。

Linux文件系统中,有所谓的链接(link),可以视其为档案的别名,链接可以为分两种:硬链接(hard link)与软链家(symbolic link),硬链接的意思是一个档案可以有多个名称,而软连接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,软链接可以跨越不同的文件系统。无论是硬链接还是软链接都不会将园本的档案复制一份,只会占用非常少量的磁碟空间。0

  • 查找文件命令which

which指令会在环境变量中$PATH设置的目录里查找符合条件的文件。

语法:which [文件...]

  • 查询单词look

look指令用于英文单字的查询。仅需给与它欲查询的字首字符,它会显示所有开头字符串符合该条件的单字。

-f忽略字符大小写差别

look L testfile查找在testfile文件中以字母L开头的所有的行

  • 查找文件whereis

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

whereis bash查找“bash”的位置

whereis -b bash显示bash命令的二进制程序

whereis -m bash显示bash命令的帮助文件

which这条命令主要是用来查找系统PATH目录下的可执行文件。whereis可以用来查找二进制命令、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所有查找的面比which要广。

  • 显示目录或文件所占用的磁盘空间du
  • 脚本编程Bash Shell
  1. 每一个shell都要有头的定义,正常的#!/bin/bash
  2. 打印:echo “要打印的东西”
  3. 定义好的脚本需要加上执行权限:chmod +x 脚本路径
  4. 三种调用方式:
    1. 如果在当前目录,则使用./test.sh,绝对路径也可以
    2. 普通脚本执行:sh 脚本路径
    3. 指定b shell执行:/bin/bash 脚本路径
  5. 定义好的脚本需要加上执行权限:chmod +x 脚本路径
  6. 变量的定义
    1. 直接赋值法:a=1 b=”abc” arr=(1 2 3 4)
    2. 引用赋值发:b=$a c=${b}
    3. 引用命令执行结果的赋值:a=`ls -l`
  7. 执行变量的运算:b=`expr $a + 1` b=$(($a+1)) b=$[$a+1]
    1. 判断条件中使用计算:在中括号内侧及运算符两边都要加空格
  8. 数值型:大于:-gt,小于:-lt,等于:-eq,不等于:-ne

 

  1. 字符串型:等于=或== 不等于!=,是否为空:-z 字符串
  2. If条件语句可省略成:[[ 条件语句 ]] && 结果语句
  3. 在单引号中不能直接用${a}引用变量
  4.  
  • shell脚本定义函数
  1. [function] 函数名(){函数体} 可以有return语句,但只能return值类型
  2. 参数的传递:函数内部的参数列表值取决于调用函数时的参数列表,与脚本的参数无直接影响

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值