LinuxDay3——Linux基础命令

一:用户登录

root用户:管理员账户,也被称为超级用户,root拥有对Linux系统的所有权限,一般不用root用户登录系统

普通用户:权限受到限制,只可以对自己有权限的文件进行操作

每个用户都有唯一编号 UID 为0的是管理员

查看UID

uid

Centos6 普通用户从500开始

id -u

Centos7 普通用户从1000开始

id -u

二:终端(terminal)

终端:

  • 设备终端:鼠标,键盘,显示器
  • 物理终端:控制台(/dev/console)
  • 虚拟终端:/dev/tty[1-6] 在物理机旁边可以使用Alt+F[1-6]进行切换
  • 串行终端:/dev/ttyS
  • 伪终端:/dev/pts/# 通过ssh远程即可打开一个伪终端

 Ctrl+alt+F[1-6]  切换字符界面终端

 Chvt+数字            切换字符界面终端

 tty                        查看终端号tty(本地终端) pts(远程终端)

tty

常用命令

 halt 、poweroff     关机

 shutdown[OPTION]... TIME [MESSAGE]   关机或重启

  -r +TIME    重启

    TIME:      now立刻执行,+m相对时间,几分钟后执行,hh:mm绝对时间,具体时间关机

  -h +TIME    关机(定时)

  -c        取消关机

 reboot 重启

 runlevel                查看当前模式

runlevel

 init

  0               关机

  3                  切换成字符模式

  5                  切换成图形界面(开启相关程序)(需要权限)

  6     重启 

 

 echo [-neE] [arg ...]   显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

  -e 启用\字符的解释功能

 

echo -e FORMAT

 

  -n 不自动换行

 w                         系统当前所有的登录会话及所做的操作

w

 who                     显示当前系统所有的登录会话

who

 whoami                显示当前登录的用户

whoami

 su      变更用户

 useradd    增加用户

 passwd    设置用户密码

 

useradd passwd su

 Wall                发广播

 nano      文本编辑器

交互式接口

交互式接口:启动终端后,在终端设备附加一个交互式应用程序

GUI(Graphic User Interface):及图形化窗口,常见图形桌面有GNOME、KDE和XFCE等,CentOS默认为GNOME桌面

CLI(Command Line Interface):及命令行窗口,常用的shell有sh、csh、tcsh、ksh、bash和zsh等,默认shell为bash

cat /etc/shells

可以看到系统支持的shell

shell:

shell也被称为LINUX的命令解释器(command interpreter)。是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。同时shell也是一种高级程序设计语言,即bash脚本语言

bash:

GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容。同时也是CentOS的默认shell。

echo $SHELL

三:命令(COMMAND)

命令分类

shell中的命令有俩类,内部命令和外部命令;

  多个命令可以用;符号分开

  一个命令可以用\分成多行

  help或enable    可以列出内部命令列表。

 Ctrl+c                    关闭软件、取消命令

 Ctrl+d       结束命令

内部命令:由shell自带,而且通过某命令形式提供

 enable

  cmd      启用内部命令

  -n cmd     禁用内部命令

  -n      查看所有已禁用的内部命令

 外部命令:在文件系统路径下有对应的可执行文件,可使用:

 which --skip-ailas cmd   查看命令可执行文件的路径

which --skip-ailas ls

 type      判断命令是内部命令还是外部命令(如果显示路径则是外部命令)

type

Hash缓存

  系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。

 hash

  -l          显示hash缓存

  -p path cmd     将命令全路径path起别名为cmd

  -t cmd        打印缓存中name的路径

  -d cmd         清除cmd缓存

  -r          清除全部缓存

命令别名(alias)

 alias        显示当前shell中已定义的命令别名

  CMD=‘VALUE’   定义别名

 unalias name   取消别名

  -a         取消所有别名

日期和时间

Linux分为俩种时钟,系统时钟和硬件时间,系统时间由CPU振荡器计时,硬件时间为主板BIOS时间

 date 可以用来显示或设定系统的日期与时间。

  -d<字符串>:  显示字符串所指的日期与时间。

  -s<字符串>:  根据字符串来设置日期与时间。

date FORMAT controls the output. Interpreted sequences are:

 hwclock, clock :   显示硬件时钟

  -s, --hctosys    以硬件时钟为准,校正系统时钟

  -w, --systohc    以系统时钟为准,校正硬件时钟

 tzselect(CentOS6.x)
 timedatectl(CentOS7.x)

 list-timezone     列出所有时区

 set-timezone     “时区” 设置时区

 status       列出当前时区
    /usr/share/zoneinfo/Asia/Shanghai     时区

    /etc/localtime               时区

  cal -y       显示日历

history命令详解

usage:

  • history [-c] [-d offset] [n]
  • history -anrw [filename]
  • history -ps arg [arg...]

history: 显示命令历史记录

history FORMAT

HISTORY相关变量

HISTORY相关变量

变量的赋值方法:

export  变量名=“值”

存放到/etc/profile 或~/.bash_profile中,不建议修改/etc/profile文件

命令历史

命令在执行后命令历史会保存到内存中,当退出shell时这些命令历史会自动追加到~/.bash_history文件中

当登录shell时则会从~/.bash_history文件重新读入内存

历史命令

四、bash使用技巧

 引用

双引号(""):弱引用,可识别变量,但是不识别命令

[root@centos6 ~]#echo "ls $HISTSIZE"
ls 1000

单引号(''):强引用,变量和命令统统不识别,以字符串输出

[root@centos6 ~]#echo 'ls $HISTSIZE'
ls $HISTSIZE

反引号(··):命令引用,执行被引用的命令,并输出结果,和“$()”功能相同

[root@centos6 ~]#echo `echo $HISTSIZE` 
1000

 扩展

{}:括号内的参数分别和外部参数做笛卡尔乘积

[root@centos6 ~]#echo file{1..5}{6,7,8}
file16 file17 file18 file26 file27 file28 file36 file37 file38 file46 file47 file48 file56 file57 file58

bash快捷键

bash快捷键

命令补全

当输入一个命令字符开头可以表示唯一性时,按下tab键即可补全命令。

如果命令开头字符串不足以唯一标示一个命令时,按下2次tab键可显示所有以此字符串开头的命名。

文件路径补全和命令补全用法相同,如果不是唯一文件或文件夹名时则显示当前目录的所有以此字符串开头的文件或文件夹。

命令补全

调用历史参数

调用参数

五:获得帮助

 whatis

 CMD   -h|--help

 man

 info

六:练习

1.设置开机自动以root身份登入,跳过用户登入界面:

[root@centos6 ~]#nano /etc/gdm//custom.conf 

# GDM configuration storage

[daemon]
AutomaticLoginEnable=true
AutomaticLogin=root
[security]

[xdmcp]

[greeter]

[chooser]

[debug]

2.设置用户提示栏:

[root@centos6 ~]#nano /etc/profile.d/env.sh 

PS1="\[\e[1;5;41;33m\]{\u@\h \w]\\$\[\e[0m]"

其中 1字体高亮 5闪烁 41背景颜色 33字体颜色(31~37) 0m颜色到此结束

3.定义别名

[root@centos6 ~]#nano  .bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cdnet="cd /etc/sysconfig/network-scripts/"

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

4.更改语言变量

[root@centos6 ~]#nano /etc/sysconfig/ i18n 

LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"

5.进行会话

[root@centos6 ~]#df (查看光盘挂载)
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 5113400  42591372  11% /
tmpfs             502056      80    501976   1% /dev/shm
/dev/sda1         999320   34944    911948   4% /boot
/dev/sda3       30106576   44992  28525584   1% /data
/dev/sr0         3878870 3878870         0 100% /media/CentOS_6.9_Final
[root@centos6 ~]#rpm -ivh /media/CentOS_6.9_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm 
warning: /media/CentOS_6.9_Final/Packages/screen-4.0.3-19.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
    package screen-4.0.3-19.el6.x86_64 is already installed
[root@centos6 ~]#screen -S help(创建会话)
[root@centos6 ~]#screen -x help(加入会话)

6.计算器(进制直接转换)

[root@centos6 ~]#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
ibase=2(输入几进制)
1010
10
quit

[root@centos6 ~]#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
obase=2
10
1010
quit

7.课上练习

  1)显示当前时间,格式 2016-06-18 10:20:30


[root@centos6 ~]#date "+%F %T"

  2)显示前天星期几


[root@centos6 ~]#date +%A -d "-2 days"

  3)设置时间为2019-08-0706:05:10


[root@centos6 ~]#date -s 080706052019.10

  4)在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间
  

[root@centos6 ~]#nano /etc/issue 
[root@centos6 ~]#man agetty

 

  5)今天18:30自动关机,并提示用户

[root@centos6 ~]#shutdown -h 18:30

 

posted @ 2018-04-03 08:22  Gmiao  阅读(347)  评论(0编辑  收藏  举报