Linux系统基础

认识SHELL

俗称壳,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并送入内核去执行;
Shell实际上是一种命令解释器,通过解释用户输入的命令并把它传输给系统内核去执行;
有自己的编程语言用于对命令的编辑,它允许用户编写由Shell命令组成的程序。
( shell编程语言具有普通编程语言的很多特点,比如它也有 循环结构分支控制结构 等,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。)
在这里插入图片描述

内部命令:在系统启动时就调入内存,是常驻内存的 ,所以执行效率高
外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存

如何使用内外部命令?
使用type命令, 语法:type + 要检测的命令
例如:

[root@xuegod63]# type cat     (cat 是 /usr/bin/cat)
[root@xuegod63]# type pwd     (pwd 是 shell 内嵌)
     
总结:通过Shell, 我们可以对Linux实现哪些操作或者管理:
      例如:
          1.对 文件 的管理(创建、删除、复制、修改)
          2.对 用户 的管理(添加、删除)
          3.相关权限 的管理(授权用户对相关文件的管理,比如:增 删 改 查)
          4.对 磁盘 的管理(分区、raid、lvm)
          5.对 软件 的管理
          6.对 网络 的管理


shell提示符 "#"号 与 "$"号的区别
【root@xuegod63~】**#**—— 表示 root用户登录,管理员账号 登录

【root@xuegod63~】**#** su - name —— 切换到name普通用户

【root@xuegod63~】**$** ——表示普通用户登录
       |
       ----> 用户名 -- @ -- 主机名 -- 当前所在目录(~表示当前用户的家目录)-- (# root/$ 普通用户)

认识Bash Shell
查看所有shell类型

[root@xuegod63~]# cat/etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh

具体你使用的是哪一个,取决于你的用户配置,也就是说你可以看一下 /etc/passwd文件 的每一行的最后一个字段

【root@xuegod63~】# head -1 /etc/passwd
 
 root:x:0:0:root:/root:/bin/bash

在这里插入图片描述
在这里插入图片描述

基本命令操作:

在Linux中使用一个命令,命令格式如下:

命令  【选项】【参数】

命令:具体执行的命令,比如pwd, head
选项:会影响到命令的一些行为操作,通常以- --实现
参数:命令作用的对象

基本命令之-----ls
作用:查看当前目录下有哪些文件(list)
语法:ls 目录/文件,如果什么也不加,那么查看的是当前目录下的内容
常用选项:命令后面不加任何选项 【root@xuegod63~】# ls
直接 ls ,查看的是当前目录下的内容:
在这里插入图片描述
ls+目录/文件, 查看该目录文件的内容:
在这里插入图片描述

-l  列出文件的详细信息,比如  创建者、创建时间、文件的读写权限列表等等,长列表     【root@xuegod63~】# ls -l

在这里插入图片描述
在这里插入图片描述

颜 色                          代 表 内 容                     举  例

蓝色                              目录                         /etc
黑色                              文件                         /etc/passwd
浅蓝色                            链接                         /etc/grub2.cfg
红色                             压缩包                       boot.tar.gz
绿色                           可执行文件                   /etc/init.d/network
黑底黄字                         社会文件                        /dev/sda

ls /etc在这里插入图片描述

-a  
列出目录下所有的文件,包括以“.“开头的隐藏文件
   ( linux下隐藏文件是以 . 开头的,如果存在 2个点代表存在着父目录 ,  1个点表示当前目录)
    
    [root@xuegod63 ~]# ls -a.               
   
    .bash_profile  .dbus                
    .mozilla  视频  桌面

在这里插入图片描述

-d 
查看目录(不查看里面的内容) 
   
    [root@xuegod63 ~]# ls -ld /root/
    dr-xr-x---. 15 root root 4096 11月 15 21:37 /root/

在这里插入图片描述

-S 
以文件的大小进行排序  

[root@xuegod63 ~]# ls -lS /root/
总用量 8
-rw-r--r--. 1 root root 1728 9月  19 12:55 initial-setup-ks.cfg
-rw-------. 1 root root  1680 9月  19 12:16 anaconda-ks.cfg

 --------------------------------------------------------------------------------
 
 ls -l 和ll 这两个命令是等价的:
 
 1.[root@xuegod63 ~]# ll     /etc/passwd
   -rw-r--r--. 1 root root 2053 9月  19 12:57 /etc/passwd   
 
 2.[root@xuegod63 ~]# ls -l  /etc/passwd
   -rw-r--r--. 1 root root 2053 9月  19 12:57 /etc/passwd

[root@xuegod63 ~]# type ll
ll 是 `ls -l --color=auto' 的别名

在这里插入图片描述

别名的使用

定义一个别名:

[root@xuegod63 ~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'

[root@xuegod63 ~]# vimens33

在这里插入图片描述

删除别名:

[root@xuegod63 ~]# unalias vimens33 
设置别名永久生效:   

当前用户
[root@xuegod63 ~]# vim /root/.bashrc  #插入以一下内容:
8 alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# source /root/.bashrc 
[root@xuegod63 ~]# vimenss33

全局使用
[root@xuegod63 ~]# vim /etc/bashrc   #在文件最后插入
alias vimenss33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63 ~]# su - mk
上一次登录:四 11月 16 10:22:03 CST 2017pts/1 上
[mk@xuegod63 ~]$ vimenss33

基本命令之–cd作用:

切换目录(change directory)
语法:cd 目录
说明: 直接输入cd  表示   回到当前用户的宿主(家)目录
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd
[root@xuegod63 ~]# cd ~
cd .. 表示返回到上级目录位置,也就是父目录
cd . 表示进入到当前用户所在的目录
[root@xuegod63 ~]# pwd/root
[root@xuegod63 ~]# cd ..
[root@xuegod63 /]# pwd/
[root@xuegod63 /]# cd .
[root@xuegod63 /]#

cd -  #表示返回切换前的目录
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd -/

历史命令之history

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

Linux下快捷键

都是用Ctrl+下面的单词, ^表示Ctrl
^C 	终止前台运行的程序 , 如:ping g.cn 后,想停止按下Ctrl+C
^D 	退出 等价exit
^L 	清屏与clear功能一样
^R 	搜索历史命令,可以利用好关键词
 !$  引用上一个命令的最后一个参数,等价于
 [root@xuegod63 network-scripts]# cat /etc/hosts
 [root@xuegod63 network-scripts]# vim !$   
 #相当于执行: vim /etc/hosts补全命令使用tab键,Tab只能补全命令和文件 

系统时间管理

 在Linux中有 硬件时钟 与 系统时钟 等两种时钟。

 硬件时钟:  是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;
 
 系统时钟:  是指kernel中 的时钟;
 
 所有Linux相关 指令 与 函数 都是读取系统时钟的设定当Linux启动时,
 系统时钟 会去读取 硬件时钟 的设定,之后系统时钟即独立运作 

两种时间

查看硬件时间:[root@xuegod63 etc]# hwclock 

查看系统时间:[root@xuegod63 mnt]# date

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

如何修改时间

date命令相关参数:     
date --help
-s, --set=STRING   把时间设为字符串所描述的时间

例: [root@xuegod63 ~]# date -s "2018-11-2 22:30"
2018年 11月 02日 星期五 22:30:00 CST 


%F	完整日期格式,等价于 %Y-%m-%d
[root@xuegod63 ~]# date "+%F"
2018-11-02 

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

[root@xuegod63 ~]# date "+%Y%m%d"    
20181102

[root@xuegod63 ~]# date "+%Y-%m-%d %H:%M:%S"    
#在年月日之前可以添加自己想要的符号    2018-11-02 22:34:27

[root@xuegod63 ~]# date "+%Y/%m/%d %H:%M:%S"
2018/11/02 22:34:38

[root@xuegod63 ~]# date "+%Y%m%d  %H:%M:%S"
20181102 22:35:03 

-d, --date=STRING   
#显示由字符串描述的时间,而不是“当前时间”
[root@xuegod63 ~]# date -d "+1 months" +%F
2018-12-02 

在这里插入图片描述

使用time命令测试一个命令运行的时间

time 作用:一般用来测量一个命令的运行时间
使用方法:time 在后面直接跟上命令和参数
[root@xuegod63 ~]# time ls -l /etc/
real	0m0.056s
user	0m0.016s
sys	0m0.040s

说明:
real:实际使用时间
user:用户状态使用的时间
sys:内核状态使用的时间

帮助命令使用

遇到命令不知道添加哪个参数,可以使用命令帮助查看相关介绍,常用的查看帮助信息命令有如下几个

man 命令

查看手册页或命令描述
[root@xuegod63 ~]# man find
man命令查看帮助时,支持它支持上翻下翻,搜索(直接输入斜线),退出用q

使用-h或–help查看命令选项

[root@xuegod63 ~]# find -h   #不可以执行
[root@xuegod63 ~]# find --help  

开关机命令及7个启动级别

常用的几个关机,重启命令

shutdown
init
reboot   
poweroff 

关机命令之–shutdown

作用:关机,重启,定时关机
语法:shutdown  [选项]

参数:
-r    => 重新启动计算机
-h    => 关机
-h  时间  =>定时关机

例如:
[root@xuegod63 ~]# shutdown -h  +10      #10分钟之后关机
[root@xuegod63 ~]# shutdown -h  23:30     #指定具体的时间点进行关机
[root@xuegod63 ~]# shutdown -h  now      #立即关机
[root@xuegod63 ~]# shutdown -r  22:22    #22:22 以后重启 

Linux 7个启动级别

作用:切换系统运行级别
语法:init  0-6

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

例ru:
[root@localhost ~]# init 0   #关机
[root@localhost ~]# init 3   #进入3级别字符界面
[root@localhost ~]# init 5   #进入5级别图形界面 

设置默认的运行界别

centos7不 再使用 /etc/inittab 文件进行默认的启动级别配置,
而使用比 sysvinit 的运行级更为自由的 target 替代。

第3运行级用 multi-user.target 替代。

第5运行级用 graphical.target 替代。 

设置默认第三启动级别:
[root@xuegod63 ~]# systemctl set-default multi-user.target

设置默认第五启动级别:
[root@xuegod63 ~]# systemctl set-default graphical.target 

[root@xuegod63 ~]#runlevel3 5   
#表示从3级别切换到了5级别     查看当前默认的启动级别

[root@xuegod63 ~]# systemctl get-default graphical.target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值