欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从零开始学Linux-第三天基本命令操作

程序员文章站 2022-06-15 13:34:16
...

上篇回顾

	Linux命令行模式下配置网卡及网卡配置文件中各个参数的介绍,以及临时和永久关闭Selinux

本节所讲内容

1.	Linux终端介绍Shell提示符Bash Shell基本语法。 
2.	基本命令的使用:ls、cd、history等
3.	查看系统和BIOS硬件时间
4.	Linux如何获得帮助
5.	开关机命令及7个启动级别
  1. Linux终端介绍、Shell提示符、Bash Shell基本语法
    1.1 登陆Linux终端
    两种终端仿真器:
    1.GNOME桌面的GHOME Terminal
    2.KDE桌面的Konsole Terminal
    远程连接工具:Xshell、crt、putty(后期会写安装这些软件的使用教程)
    例1:查看当前所属的虚拟终端,命令:tty

    [aaa@qq.com ~]# tty
    /dev/pts/0
    

    例2:在不同虚拟终端之间通讯
    同时打开三个终端,在第一个上执行,在第二个终端会看到输出内容,第三个则看不到
    从零开始学Linux-第三天基本命令操作
    从零开始学Linux-第三天基本命令操作
    从零开始学Linux-第三天基本命令操作
    例3:对所有终端广播消息,系统10分钟后关机

    [aaa@qq.com ~]# shutdown +10	#执行此命令后,在其他终端都会收到关机消息
    [aaa@qq.com ~]#shutdown -c		#取消关机
    [aaa@qq.com ~]#wall "the system will be shutdown in 10 minutes" #广播,所有终端都能收到
    

    1.2 认识Shell
    Shell俗称壳,提供用户与Linux内核进行交互的一种接口,它接收用户输入的命令并把它送入内核去执行。
    Shell实际上是一个命令解释器,通过解释用户输入的命令并把它传输给系统内核去执行。
    Shell有自己的编程语言用于对命令的编辑,允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有相同的效果。
    从零开始学Linux-第三天基本命令操作
    内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高
    外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存

    #检测命令是外部命令还是外部命令,使用 type 命令 
    [aaa@qq.com ~]#type cat
    cat is /usr/bin/cat
    [aaa@qq.com ~]#type pwd
    pwd is a shell builtin
    

    通过 shell我们可以对Linux进行的操作和管理:
    1. 对文件的管理(创建、删除、复制、修改)
    2. 相关权限的管理(授权用户对相关文件的管理,比如增删改查)
    3. 对磁盘的管理(分区、raid、LVM)
    4. 对软件的管理
    5. 对网络的管理

    1.3 shell提示符 “#” 和 “$”的区别

    	[aaa@qq.com ~]#		#号代表的是是root用户登录,管理员账号
    	[aaa@qq.com ~]$		# $号代表的是普通用户登录
    	# [aaa@qq.com ~]# 代表的意思是:用户名@主机名 当前工作目录  ~ 代表当前用户的家目录
    

    1.4 认识Bash Shell

    [aaa@qq.com ~]# cat /etc/shells 
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    #具体使用哪个,取决于用户配置,可以看/etc/passwd文件每一行最后一个字段,每个字段以 :分隔
    [aaa@qq.com ~]# head -1 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    
  2. 基本命令操作
    在Linux下使用一个命令,命令格式如下:
    命令 【选项】 【参数】
    命令:具体执行的命令,如pwd,head
    选项:会影响到命令的一些行为操作,通常以 - --实现
    参数:命令作用的对象
    2.1 基本命令 – ls
    作用:查看当前目录下有哪些文件
    格式:ls 目录/文件,如果什么也不加,查看的是当前目录下的内容
    常用选项:

    [aaa@qq.com ~]# ls -l a.txt 
    -rw-r--r--. 1 root root 0 Jul 24 06:48 a.txt
    

    从零开始学Linux-第三天基本命令操作
    详细介绍如下:
    1:文件类型:d 目录文件 l 链接文件 b 块设备文件 c 字符设备文件 p 管道文件 - 表示普通文件
    2:文件权限(后面会有详细介绍)
    3:硬链接个数
    4:文件所有者
    5:文件大小
    6:文件的上次修改日期
    7:文件名

    Linux系统中不同的颜色代表了不通的文件类型:

    颜色 代表内容 举例
    蓝色 目录 /etc
    黑色 文件 /etc/passwd
    浅蓝色 链接 /etc/grub2.cfg
    红色 压缩包 boot.tar.gz
    绿色 可执行文件 /etc/init.d/network
    黄底黑字
    设备文件
    /etc

    ls -a 列出目录下所有的文件,包括以 “.” "…"开头的隐藏文件(Linux下隐藏文件是以 .开头的,如果存在2个点代表存在着父目录,1个点表示当前目录)

    [aaa@qq.com ~]# ls -a
    .  ..  anaconda-ks.cfg  a.txt  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
    
    

    ls -d 查看目录(不查看目录里面的内容)

    [aaa@qq.com ~]# ls -d /etc/
    /etc/
    [aaa@qq.com ~]# ls -d -l /etc/
    drwxr-xr-x. 74 root root 8192 Jul 24 06:24 /etc/
    [aaa@qq.com ~]# ls -ld /etc/
    drwxr-xr-x. 74 root root 8192 Jul 24 06:24 /etc/
    # ls  -d -l 等同于 ls -ld
    

    ls -S 以文件的大小排序

    [aaa@qq.com ~]# ls -lS
    total 4
    -rw-------. 1 root root 1219 Jul 22 01:55 anaconda-ks.cfg
    -rw-r--r--. 1 root root    0 Jul 24 06:48 a.txt
    #ls -l 和 ll 效果相同,两者等价
    [aaa@qq.com ~]# ls -l /mnt/
    total 0
    [aaa@qq.com ~]# ll /mnt/
    total 0
    [aaa@qq.com ~]# type ll
    ll is aliased to `ls -l --color=auto'
    这里看到ll 是 ls -l 的别名
    

    2.2 别名的使用

    #临时设置别名,重启失效
    [aaa@qq.com ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    [aaa@qq.com ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
    [aaa@qq.com ~]# vimens33 
    #删除别名
    [aaa@qq.com ~]#unalias vimens33
    [aaa@qq.com ~]# vimens33
    -bash: vimens33: command not found
    #设置别名永久生效
    #当前用户
    [aaa@qq.com ~]# vim /root/.bashrc	#插入一下内容,:wq保存退出
    alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
    [aaa@qq.com ~]#source /root/.bashrc
    [aaa@qq.com ~]#vimens33
    #全局使用
    [aaa@qq.com ~]#vim /etc/bashrc	#在文件中插入
    alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
    #切换用户测试
    

    2.3 基本命令 - cd
    作用:切换目录
    格式:cd 目录名 #直接输入cd 表示回到当前用户的宿主目录

    [aaa@qq.com ~]# pwd		#打印当前工作目录
    [aaa@qq.com ~]# cd ..	#返回到上级目录
    [aaa@qq.com /]# pwd
    /
    [aaa@qq.com /]#cd .		#进入到当前目录
    [aaa@qq.com /]#cd /etc/sysconfig/network-scripts/
    [aaa@qq.com /]#cd -		#返回切换之前的目录
    

    2.4 历史命令 - history
    命令:history
    快速查找Linux历史命令:
    1. 光标上下键
    2. ctrl +r 输入某条命令的关键字,找出对应的命令,按右光标键↓
    3. !数字 #执行历史命令中的第N条命令
    4. !字符串 #搜索历史命令中最近一个以xxxx字符开头的命令,如!vim

    2.5 Linux下快捷键
    ctrl c 终止前台运行的程序
    ctrl d 退出,等同 exit
    ctrl l 清屏与clear功能一样
    ctrl r 搜索历史命令
    !$ 引用上一个命令的最后一个参数

    [aaa@qq.com ~]#ls /etc/sysconfig/network-scriptes/
    [aaa@qq.com ~]#cd !$
    #命令补全使用tab键,tab只能补全命令和文件(前提这个命令或文件要存在)
    
  3. 系统时间管理
    在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主板上的时钟设备,也就是通常可在BIOS画面设置的时钟;系统时钟则是指kernel中的时钟;所有Linux相关指令与函数都是读取系统时钟的设定,当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟独立运作。
    3.1 两种时间

    #查看硬件时间
    [aaa@qq.com ~]# hwclock 
    Sat 25 Jul 2020 01:13:03 AM CST  -0.725151 seconds
    #查看系统时间
    [aaa@qq.com ~]# date
    Sat Jul 25 01:13:36 CST 2020
    

    时区:
    UTC (Universal Time Coordinated):世界标准时间
    GMT (Greenwich Mean Time):格林尼治时间
    CST (China standard Time):中国标准时间

    3.2 修改时间
    date -s #把时间设为字符串所描述的时间

    [aaa@qq.com ~]# date -s "2018-11-2 22:30"
    Fri Nov  2 22:30:00 CST 2018
    # %F完整日期格式,等于 %Y-%m-%d
    [aaa@qq.com ~]# date "+%F"
    2018-11-02
    

    %y:年份最后的两位数(00-99)
    %Y:年份
    %m:月份(01-12)
    %d:按月计的日期(如:01)
    %M:minute(00-59)
    %H:hour(00-23)
    %S:second(00-60)

    [aaa@qq.com ~]# date "+%Y%m%d"
    20181102
    [aaa@qq.com ~]# date "+%Y/%m/%d %H:%M:%S"	#在年月日之前可以添加自己想要的符号
    2018/1102 22:50:38
    [aaa@qq.com ~]# date "+%Y%m%d %H:%M:%S"
    20181102 22:51:50
    

    3.3 使用time命令测试一个命令运行的时间
    使用方法:time 在后面直接跟命令和参数

    [aaa@qq.com ~]#time ls -l /etc
    total 4
    -rw-------. 1 root root 1219 Jul 22  2020 anaconda-ks.cfg
    -rw-r--r--. 1 root root    0 Jul 24  2020 a.txt
    
    real	0m0.005s		#实际使用时间
    user	0m0.001s		#用户状态使用的时间
    sys		0m0.003s		#内核状态使用的时间
    
    

    3.4 开关机命令及7个启动级别
    shutdown
    init
    reboot
    poweroff
    3.4.1 shutdown
    作用:关机,重启,定时关机
    用法:shutdown [选项]

    [aaa@qq.com ~]#shutdown -r		 #重新启动计算机
    [aaa@qq.com ~]#shutdown -h now	 #立即关机
    [aaa@qq.com ~]#shutdown -h 23:30 #定时关机
    [aaa@qq.com ~]#shutdown -c 		 #撤销关机命令
    

    3.4.2 7个启动级别
    作用:切换系统运行级别
    用法:init 0-6
    Linux 7个启动级别:
    0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
    1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
    2 多用户模式,没有NFS和网络支持
    3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
    4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
    5 图形化模式,登陆后进入图形GUI模式,X Window系
    6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
    3.4.3 设置默认的运行级别
    Centos 7不再使用/etc/inittab文件进行默认的启动级别,而使用比sysvinit的运行级别更为*的target替代。
    第3运行级别用 multi-user.target替代。
    第5运行级别用 graphical.target替代。

    [aaa@qq.com ~]systemctl get-default		#查看当前默认启动级别
    multi-user.target
    [aaa@qq.com ~]# systemctl set-default multi-user.target		#设置默认3级别启动
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
    [aaa@qq.com ~]# systemctl set-default graphical.target		#设置默认5级别启动
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
    
相关标签: 从零开始Linux