Linux的基础命令
一、Linux终端
1、登陆linux终端
- GHOME Terminal
- KDE桌面的konslole Terminal
例一:如何打开多个终端?
- shift + ctrl +n 快速打开一个终端
- shift+ctrl+“+” 终端字体的缩小
- ctrl+“-”:终端字体缩小
tty命令:查看一下linux的终端
[root@Master-30 ~]# tty /dev/pts/0
例二:不同终端之间的通信
[root@Master-30 ~]# w 22:16:11 up 1:04, 3 users, load average: 0.02, 0.09, 0.08 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root :0 :0 21:14 ?xdm? 51.45s 0.87s /usr/libexec/gn root pts/0 192.168.75.1 22:09 3.00s 0.05s 0.00s w zhangsan pts/1 192.168.75.1 22:16 7.00s 0.02s 0.02s -bash [root@Master-30 ~]# echo hello > /dev/pts/1 #另外一端查看 [zhangsan@Master-30 ~]$ hello #10分钟后关机,并且通知其他在线用户 其他终端都能收到关机消息 [root@Master-30 ~]# shutdown -h +10 "shutdown after 10min" [zhangsan@Master-30 ~]$ Broadcast message from root@Master-30 (Sat 2021-01-09 22:17:46 CST): shutdown after 10min The system is going down for power-off at Sat 2021-01-09 22:27:46 CST! #取消关机操作 [root@Master-30 ~]# shutdown -c Broadcast message from root@Master-30 (Sat 2021-01-09 22:18:12 CST): The system shutdown has been cancelled at Sat 2021-01-09 22:19:12 CST!
例三:广播给其他用户
[root@Master-30 ~]# wall "shutdown will begin" [root@Master-30 ~]# Broadcast message from root@Master-30 (pts/0) (Sat Jan 9 22:19:31 2021): shutdown will begin
2、认识shell
Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行
Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。
Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。
Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
问题1:什么是内部命令与外部命令?
- 内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高
- 外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存
问题2:如何区别内外部命令?
[root@Master-30 ~]# type cd cd 是 shell 内嵌 [root@Master-30 ~]# type cat cat 是 /usr/bin/cat
问题3:通过shell,我们可以对linux实现哪些操作和管理?
对文件的管理(创建、删除、复制、修改)
- 1、对用户的管理(添加、删除)
- 2、相关权限的管理(授权用户对相关文件的管理,比如增删改查)
- 3、对磁盘的管理(分区、raid、lvm)
- 4、对软件的管理
- 5、对网络的管理
问题4:shell提示符“#”与“$”的区别
[root@Master-30 ~]# [root@Master-30 ~]# su - zhangsan 上一次登录:六 1月 9 22:16:04 CST 2021从 192.168.75.1pts/1 上 [zhangsan@Master-30 ~]$ #:表示root用户 $:表示普通用户
问题5:命令行提示符的结构?
[root@Master-30 ~]# 用户名--@主机名---当前所在的目录(~表示及用户)
问题6:系统中有哪些shell?
[root@Master-30 ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh #当前用户使用的是什么shell?可以在/etc/passwd文件中查看最后一个字段 [root@Master-30 ~]# cat /etc/passwd | grep "^root" root:x:0:0:root:/root:/bin/bash
二、基本命令
在LINUX中使用一个命令,命令格式如下:
- 命令 【选项】 【参数】
- 命令:具体执行的命令,比如pwd,head
- 选项:会影响到命令的一些形为操作,通常以- --实现
- 参数:命令作用的对象
ls命令:
作用:列出目录下的文件
语法:
- ls 【选项】 文件
选项:
- -l:长格式显示
- -a:列出所有的文件,包括隐藏文件、
- -d:直接查看目录本身的信息
- -S:文件按照大小排序
[root@Master-30 ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1896 1月 4 17:17 anaconda-ks.cfg -:文件类型: d:目录 -:文件 l:连接文件 b:块设备文件 c:字符设备文件 p:管道文件 s:套接字文件 rw- :所有者权限 ---:所属组权限 ---:其他人权限 1:连接个数 root:所有者 root:所属组 1896 :文件大小 1月 4 17:17:文件上次修改的日期时间 anaconda-ks.cfg:文件名 #-a参数 [root@Master-30 ~]# ls -a . .bash_profile .dbus .tcshrc 图片 .. .bashrc .esd_auth .viminfo 文档 anaconda-ks.cfg .cache .ICEauthority 公共 下载 .bash_history .config initial-setup-ks.cfg 模板 音乐 .bash_logout .cshrc .local 视频 桌面 以“.”开头的文件就是隐藏文件 ..:代表上级目录 #-d选线 [root@Master-30 ~]# ll -d /root/ dr-xr-x---. 14 root root 4096 1月 9 21:14 /root/ #-S选项 [root@Master-30 ~]# ll -S 总用量 8 -rw-r--r--. 1 root root 1944 1月 4 19:58 initial-setup-ks.cfg -rw-------. 1 root root 1896 1月 4 17:17 anaconda-ks.cfg
命令别名
ll 命令和ls -l 是相等的
[root@Master-30 ~]# ll anaconda-ks.cfg -rw-------. 1 root root 1896 1月 4 17:17 anaconda-ks.cfg [root@Master-30 ~]# ls -l anaconda-ks.cfg -rw-------. 1 root root 1896 1月 4 17:17 anaconda-ks.cfg
别名:
#定义别名 [root@Master-30 ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' ................ #设置别名 [root@Master-30 ~]# alias vimens32="vim /etc/sysconfig/network-scripts/ifcfg-ens32" [root@Master-30 ~]# vimens32 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" ............ #取消别名 [root@Master-30 ~]# unalias vimens32 #让别名永久生效 ==>当前用户: [root@Master-30 ~]# vim /root/.bashrc 添加一行-->保存退出 alias vimens32="vim /etc/sysconfig/network-scripts/ifcfg-ens32" [root@Master-30 ~]# source /root/.bashrc ==>所有用户都生效 [root@Master-30 ~]# vim /etc/profile 在末行添加一行-->保存退出 alias vimens32="vim /etc/sysconfig/network-scripts/ifcfg-ens32"
cd命令
作用:切换目录
常见用法:
#回到用户的家用户 [root@Master-30 ~]# cd ~ [root@Master-30 ~]# cd #回到用户的上级目录 [root@Master-30 ~]# cd .. #回到上次所在的目录 [root@Master-30 /]# cd - /root
历史命令调用
调用历史命令的技巧
- 光标上下键:调用之前使用过的命令
- ctrl+r :输入命令的关键字-->找到对应的命令-->按右光标键
- !数字:执行历史命令的第几条命令
- !字符串:执行最近一个以字符串开头的命令
Linux的快捷键
- ctrl+c:终止当前运行的程序
- ttrl+d:退出终端,相当于exit
- ctrl+l:清屏,相当于clear命令
- ctrl+u:清除光标前到行首
- ctrl+a:光标快速跳到行首
- ctrl+e:光标快速跳到行尾
- ctrl+l:清除光标到行尾
- ctrl+r:搜索历史命令
- !$:调用上一条命令的最后一个参数
- tab键:补全命令或者文件路径
[root@Master-30 etc]# cat /etc/sysconfig/network-scripts/ifcfg-ens32 [root@Master-30 etc]# vim !$ vim /etc/sysconfig/network-scripts/ifcfg-ens32
三、查看系统和BIOS硬件时间
系统时间管理
在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;系统时钟则是指kernel中 的时钟;所有Linux相关指令与函数都是读取系统时钟的设定
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作
问题1:如何查看硬件时间
[root@Master-30 etc]# hwclock 2021年01月09日 星期六 23时02分13秒 -0.506389 秒 #使用命令hwclock
问题2:如何查看Linux的系统时间
[root@Master-30 etc]# date 2021年 01月 09日 星期六 23:03:15 CST #时区的讲解 UTC (Universal Time Coordinated):世界标准时间 GMT (Greenwich Mean Time):格林尼治时间 CST (China standard Time):中国标准时间
问题3:如何修改时间
#查看系统时间 [root@Master-30 etc]# date 2021年 01月 09日 星期六 23:03:15 CST #修改时间-->-s选项 [root@Master-30 etc]# date -s "2022-08-02 17:30:45" 2022年 08月 02日 星期二 17:30:45 CST [root@Master-30 etc]# date 2022年 08月 02日 星期二 17:30:47 CST #常用查看时间的参数:+%F 仅仅查看年月日 [root@Master-30 etc]# date "+%F" 2022-08-02 #查看年月日时分秒 [root@Master-30 etc]# date "+%F %H:%m:%S" 2022-08-02 17:08:08 #显示字符串描述的时间,不是当前时间 [root@Master-30 etc]# date -d "+1 months" "+%F" 2022-09-02
问题5:如何同步硬软件时间
#以硬件时间为基准同步软件时间 [root@Master-30 etc]# hwclock 2021年01月09日 星期六 23时19分10秒 -0.134355 秒 [root@Master-30 etc]# hwclock -s [root@Master-30 etc]# date 2021年 01月 09日 星期六 23:19:19 CST #以软件时间为基准同步硬件时间 [root@Master-30 etc]# hwclock --systohc [root@Master-30 etc]# date 2021年 01月 09日 星期六 23:21:05 CST [root@Master-30 etc]# hwclock 2021年01月09日 星期六 23时21分09秒 -0.616612 秒
time命令
作用测试一个命令的运行时间
[root@Master-30 etc]# time hwclock -s real 0m0.000s user 0m0.001s sys 0m0.016s #说明: real:实际使用时间 user:用户状态使用的时间 sys:内核状态使用的时间
四、Linux如何获得帮助
Linux下的帮助命令
man命令
man ls
[root@Master-30 etc]# man ls
LS(1) General Commands Manual LS(1)
NAME
ls, dir, vdir - 列目录内容
提要
ls [选项] [文件名...]
...............
--help:
ls --help
[root@Master-30 etc]# ls --help 用法:ls [选项]... [文件]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all 不隐藏任何以. 开始的项目 .................
五、开关机命令及7个启动级别
关机、重启命令
shutdown命令
作用:关机、重启、定时关机
语法:shutdown 【选项】 时间
选项
- -h:马上关机
- -r:重启
- -c:取消关机命令
#十分钟后关机 [root@Master-30 etc]# shutdown -h +10 #取消关机操作命令 [root@Master-30 etc]# shutdown -c
poweroff命令
作用:硬性关机
相当于直接按关机键
[root@Master-30 etc]# poweroff
reboot命令
作用:重启系统
[root@Master-30 etc]# reboot
系统的运行级别:
Linux 7个启动级别:
- 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
- 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
- 2 多用户模式,没有NFS和网络支持
- 3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
- 4 系统未使用,
- 5 图形化模式,登陆后进入图形GUI模式,X Window系
- 6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
#关机 [root@Master-30 etc]# init 0 #设置字符界面 [root@Master-30 etc]# init 3 #切换图形化界面 [root@Master-30 etc]# init 5
问题1:centos7如何设置默认的字符启动界别
centos7不再使用/etc/inittab文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。
- 第3运行级用multi-user.target替代。
- 第5运行级用graphical.target替代。
#设置字符界面 [root@Master-30 etc]# systemctl set-default multi-user.target #设置图形界面 [root@Master-30 etc]# systemctl set-default graphical.target
问题2:如何查看当前的开机运行级别
[root@Master-30 etc]# runlevel 5 3 #表示从5级别切换到3级别 [root@Master-30 etc]# systemctl get-default multi-user.targe
持之以恒&静心定性

浙公网安备 33010602011771号