运维Linux-命令行基础

命令行基础

• Linux命令
– 用来实现某一类功能的指令或程序
linux执行命令需要找到相应的程序文件
– 命令的执行依赖于解释器(默认的解释器程序:/bin/bash)
执行过程: 用户 ------>解释器 ------> 内核------>硬件
- 绿色:表示可以执行的程序

  1. 命令行的一般格式
    • 基本用法
    – 命令字 [选项]…[参数1] [参数2]…

  2. 快速编辑技巧
    • Tab键自动补全

– 可补齐命令字、选项、参数、文件路径、软件名、服务名 – 连续按两下tab键可以现实出命令提示。
if(tab)(tab)
–自动补全,是在输入命令部分字符时,有且自由一个命令匹配,就会自动补全。

ifco(tab)      查看IP地址信息命令
– 自动补全目录操。
cat  /et(tab)/red(tab)-r(tab)   #查看文本文件内容、	
ls /et(tab)/sysco(tab)/netw(tab)-(tab)/ifc(tab)-e(tab) 
>>> ls /etc/sysconfig/network-scripts/ifcfg-eth0 
  1. 快捷键(终端)
    – Ctrl + l:清空整个屏幕
    – Ctrl + c:结束当前运行的命令
    – Esc + . 或 Alt + .:粘贴上一个命令的参数(again继续显示上一个命令)
    – Ctrl + u:清空至行首(以光标为起始点)
    – Ctrl + w:往回删除一个单词(以空格界定,以光标为起始点)
    – Ctrl + z:挂起当前运行的程序
 ls  /etc/redhat-release 
 ls  -l  Alt +  .
 cat    Alt +  .
 cat  -n   Alt +  .
  1. mount挂载操作:让目录成为设备的访问点
    途径:通过系统的安装光盘获得软件包

– 格式:mount 设备路径 挂载点目录

Windows系统访问光盘内容
光盘------>光驱设备------->CD驱动器(双击)(访问点) Linux系统访问光盘内容
光盘------>光驱设备(文件形式)------->目录(访问点 挂载点)
快捷方式(/dev/cdrom------>/dev/sr0)

注意:青色:表示快捷方式

步骤:

1.图形将光盘文件放入光驱设备
 2.命令行查看Linux光驱设备
 [root@A ~]# ls -l /dev/cdrom(这是一个快捷方式)
 lrwxrwxrwx. 1 root root 3 2月  28 10:53 /dev/cdrom -> sr0
 [root@A ~]# ls /dev/sr0

 3.命令行使用mount命令进行挂载
 [root@A ~]# mkdir /dvd
 [root@A ~]# ls /dvd/ mount
     /dev/cdrom   /dvd    
 Ls /dvd/
 Ls /dvd/P(tab)                    

4.卸载设备
  umount  /dvd
  ls /dvd/
  mkdir  /myiso
  ls /myiso
  mount /dev/cdrom  /myiso
  ls /myiso

总结:
1.Linux光驱设备/dev/cdrom
2.Linux访问设备内容需要通过访问点
3.Linux访问点就是一个目录

注意事项:
1).目录本身没有任何挂载(前提)

 umount /dvd/
 umount: /dvd/:未挂载

2).有用户正在访问设备内容,用户在挂载点目录中(会卸载失败)

扫描二维码关注公众号,回复: 5803054 查看本文章
 umount /dvd/
 umount: /dvd:目标忙。

(有些情况下通过 lsof(8) 或 fuser(1)
可以找到有关使用该设备的进程的有用信息建议挂载点目录,自己创建,尽量不要直接使用根目录下的目录)

4).Linux允许 一个设备具备多个访问点(挂载点)
5).Linux不允许 一个目录有多个设备挂载

/root:管理员root的家目录
/home:存放所有普通用户的家目录
~用户名:表示该用户的家目录
~:表示用户的家目录

  1. 创建用户:

     #useradd natasha   #创建一个普通用户natasha
     #ls /home/
     #cd ~natasha       #切换到natasha用户的家目录
     #pwd
     #cd ~root    #切换到root用户的家目录
     #pwd
     #useradd tc        #切换到tc用户的家目录
     #cd ~tc
     #pwd
     . 表示当前目录
    
  2. 使用通配符
    • 针对不确定的文档名称,以特殊字符表示
    – *:任意多个任意字符
    – ?:单个字符

     ls /boot/vm*       #显示/boot目录下vm开头的数据
     ls /etc/*tab        #显示/etc目录下tab结尾的数据
     ls /etc/*.conf  	  #显示/etc目录下.conf结尾的数据
     ls /dev/tty*        #显示/dev目录下tty开头的数据
     ls /dev/tty?
     ls /dev/tty??

• 针对不确定的文档名称,以特殊字符表示

– [a-z]:多个字符或连续范围中的一个,若无则忽略
– {a,min,xy}:多组不同的字符串,全匹配

 # ls /dev/tty[3-8]
 # ls /dev/tty[1-7]
 # ls /dev/tty{3,7,11,28}
 # ls /dev/tty{31,S0,S1}
  请显示/dev目录下 tty20到tty30 的设备?
 # ls /dev/tty2[0-9]  /dev/tty30
 # ls /dev/tty{2[0-9],30}
 # ls /dev/tty{2?,30}
  1. 别名的定义alias:简化复杂的命令

• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= ‘实际执行的命令行’
• 取消已设置的别名
– unalias [别名名称]

  • hostname #查看主机名字
hostname
>>>A.tedu.cn
hn
>>>bash: hn: 未找到命令...
alias  hn='hostname'   #设置别名
hn
>>>A.tedu.cn
  • alias #查看当前生效的所有别名
 #查看
	alias  myls='ls -ld'
	myls  /root/

# 删除 unalias  myls     #删除别名myls
 	 myls
>>>bash: myls: 未找到命令...(错误提示)
  1. rm 删除
    • rm — Remove
    – 格式:rm [选项]… 文件或目录…
    • 常用命令选项
    – -r、-f:递归删除(含目录)、强制删除
    -r:递归,目录下所有内容,以及子目录下所有内容
    注意:rm(shell里面的是已经设置了别名了–>alias rm=’rm -i’)
 ls /opt/
 rm -rf /opt/nsd01
 ls /opt/
  1. mv 移动/改名
    • mv — Move
    – 格式:mv [选项]… 原文件… 目标路径
	#移动:移动文件到指定路径
	ls /opt/
	1.txt  nsd01
	 mv /opt/1.txt  /opt/nsd01
	 ls /opt/  <=====>  ls /opt/nsd01(查看结果)
#重命名:路径不变的移动
	mv /opt/nsd01    /opt/student(绝对路径)
	ls /opt/
	mv /opt/student  ./test	(相对路径)
	ls /opt/ 
  1. cp 复制
    • cp — Copy
    – 格式:cp [选项]… 原文件… 目标路径
    • 常用命令选项
    – -r:递归,复制目录时必须有此选项
    注意:cp(shell里面的是已经设置了别名了–>alias cp=‘cp -i’)
  cp /etc/passwd   /opt/
  ls /opt/
  cp -r /home/  /opt/	#递归式复制,可以复制文件夹
  ls /opt/

#强制覆盖
   #临时取消别名:在运行命令前,加上 \(‘i’优先级  > ‘r’)
  cp -r /boot/  /opt/
  ls /opt/
  cp -r /boot/  /opt/

  \cp -r  /boot/  /opt/   #在本次操作,临时取消别名 

#复制支持两个以上的参数                            
   #永远把最后一个参数作为目标,其他的所有参数都作为源
  cp /etc/fstab /etc/hosts     /etc/shadow    /opt/
  ls /opt/

#复制与 一个点 的连用
#   .   :表示当前目录
  cd /opt/
 pwd
 cp -r /mnt/  .    #将/mnt复制到当前目录
 ls

#复制重新命名,目标路径下的名字
  ls /opt/
  cp /etc/redhat-release  /opt/rr
  ls /opt/

扩展:
请说出,下列操作中两次复制的不同

  rm -rf /opt/*
  cp -r /home/ /opt/nsd	 	#复制/home目录,放到/opt/目录下命名成nsd
  cp -r /home/ /opt/nsd		#复制/home目录,放到/opt/nsd目录下

过程:

  rm -rf /opt/*
  ls /opt/
  cp -r /home/ /opt/nsd    
  ls /opt/
nsd
  cp -r /home/ /opt/nsd
  ls /opt/
nsd
  ls /opt/nsd/

写的不好,请见谅哈!

猜你喜欢

转载自blog.csdn.net/REVE_HOH/article/details/89052468