1、Linux用户:
Linux用户分为普通用户和管理员,普通用户的系统操作权限低,用户的误操作对系统数据的破坏程度有限,不会对系统造成灾难性的破坏。而管理员对系统具有绝对的权限,可以修改和设置系统的任何数据,如果误操作,及其容易对系统数据造成不可挽回的破坏,比如执行以下命令 rm -rf / 。因此,系统管理员在操作root用户时需要谨慎,同时应该保管好其密码,防止被非法盗用。Linux系统默认的管理员账户名为 root,其用户ID号(UID)为0,只要UID为0的用户都是管理员账户。
2、Linux终端(terminal)
终端就是用户与主机进行交互的一种介质(方式),可以是虚拟的,也可以是实体的。终端大体分为以下四种:
(1)物理终端:直接接入本机的显示器和键盘称为物理终端,在Linux系统中的文件路径为/dev/console。
(2)虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,在Linux系统中的文件路径为/dev/tty#(#表示数字),Linux默认提供6个虚拟终端,可以使用快捷键Ctrl+Alt+F(1-6)进行各终端的切换
(3)图形终端:属于虚拟终端,但会提供桌面环境。
(4)模拟终端:在图形界面打开的命令行以及基于ssh协议或Telnet协议等远程打开的界面,称为模拟终端,在Linux系统中的文件路径为/dev/pts/#(#表示数字)。常见的软件有xshell、putty
3、shell简介
(1)什么是shell
Shel是用户与Linux系统沟通的桥梁,提供了用户与内核进行交互操作的接口,它接收用户输入的命令并把它送入内核去执行。同时shell也是一种高级程序语言。
(2)Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。
(3)Linux默认是用的shell是bash,是Linux的标准shell,以sh兼容。
(4)两个命令:echo $SHELL: 显示当前使用的shell; cat /etc/shells:显示当前系统使用的所有shell。
4、命令相关的基本介绍
(1)命令提示符:
显示提示符格式的命令:echo $PS1 ,格式说明如下:
[\u@\h \W]\$, 说明: \u :用户名 ; \h:主机名 ; \w:用户当前的路径。 符号 $:表示当前登录用户为普通用户; 符号 #:表示当前登录用户为管理员 。
修改默认的命令提示符:使用vi编辑/etc/profile文件,在最后加上:export PS1=’[u@h W]$ ‘即可
W 代替 w 就可以实现绝对路径到相对路径的转换
下面简单说说环境下默认的特殊符号所代表的意义:
d :代表日期,格式为weekday month date,例如:”Mon Aug 1″
H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
t :显示时间为24小时格式,如:HH:MM:SS
T :显示时间为12小时格式
A :显示时间为24小时格式:HH:MM
u :当前用户的账号名称
v :BASH的版本信息
w :完整的工作目录名称。家目录会以 ~代替
W :利用basename取得工作目录名称,所以只会列出最后一个目录
(2)命令的分类:
(a)内部命令:安装系统时shell程序自带的,实际上是shell程序的一部分,随系统启动加载至内存中,这些命令由shell程序识别并在shell程序内部完成运行。使用enable命令可以启用或禁用内部命令,如enable -n cd :禁用cd命令;enable cd:启用cd命令
(b)外部命令:是Linux系统中的应用程序部分,其不会随系统启动,而是在需要时才会被调用,外部命令的执行过程是由shell控制的。使用which或whereis命令可以查看外部命令的文件存放位置(/bin,/usr/bin,/sbin,/usr/sbin……),如which cd
(c)type命令可以查看某个命令是内部命令还是外部命令;type COMMAND。
(3)命令格式
COMMAND [OPTION…] [ARGUMENTS…]
(a)选项:用于启用或关闭命令的某个或某些功能;选项分为短选项和长选项;如date命令,短选项 -s与长选项 –set ,其效果是一样的。
参数:指命令的作用对象,比如文件名、目录名等。
(b)在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下:
[] 表示是可选的;
<> 表示是可变化的;
x|y|z 表示只能选择一个;
-abc 表示三个参数(或任何二个)的混合使用
(c)注意事项:
* 多选项,以及多参数和命令之间使用空白字符分隔
* 取消和结束命令执行:Ctrl+c ,Ctrl+d
* 多个命令可以用; 符号分开
* 一个命令可以用\分成多行
5、几个常用命令
(1)date命令:显示或设置系统日期和时间
(a)语法:date [选项] [参数]
(b)常用选项
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
–help:在线帮助;
–version:显示版本信息。
(c)参数
<+时间日期格式>:指定显示的日期时间格式。
时间方面 :
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面 :
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时, mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。
(d)示例
显示当前年-月-日-时-分-秒:
date +%Y-%m-%d-%H-%M-%S
显示10天前的时间:
date -d "-10 day" +%Y/%m/%d 或者 date +%Y/%m/%d –date="-10 day"
将系统时间设置为2017-07-15 14:15:16
date -s "2017-07-15 14:15:16"(注意日期与时间之间要有空格)
(e)补充命令clock、hwclock显示硬件时间
clock -s, –hctosys:校正系统时间
clock -w, –systohc:校正硬件时间
(2)cal命令:显示日历。
(a)语法:
cal [选项] [参数]
(b)选项:
-l: 显示单个月(默认选项)
-3: 显示当前月及其前后各一个月的日历
-s: 将星期日作为每月的第一天
-m: 将星期一作为每月的第一天
-j: 以一年的第n天显示
-y: 显示当前年的日历
(c)参数
月(1-12):显示指定的月份 年:显示指定的年份
(d)示例
(3)nano命令
nano是一个字符终端文本编辑器,可以打开和编辑指定的文件。
(a)语法:
nano [OPTIONS] [[+LINE,COLUMN] FILE]…
(4)screen命令:
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
(a)安装:yum install screen
(b)使用
打开新的screen: screen –S [SESSION]
加入某会话:screen –x [SESSION]
退出并关闭screen: exit
剥离当前screen: Ctrl+a,d
显示所有已经打开的screen: screen -ls
恢复到某screen :screen -r [SESSION]
(5)echo命令
显示字符,其显示的字符是标准输出。
(a)语法
echo [OPTION] [ARGUMENT]
(b)选项
-n:不要在字符的最后自动换行。
-e:激活转移字符,一般与以下字符连用
\a 发出警告声;
\b 退格键,删除前一个字符;
\c 最后不加上换行符号;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab; ;
\\ 插入\ 字符;
\f 换行但光标任然停留在原来的位置;
\nnn 插入nnn (八进制)所代表的ASCII 字符;
\xHH 插入HH (十六进制)所代表的ASCII
(c)参数
指定要打印的内容(变量)
(d)示例
显示红色闪烁的字符:
echo -e "\e[31;40;5m hello linux \e[0m"
(e)补充
echo 可以与重定向组合使用,如echo hello > /dev/tty3 ; echo my file >> /testdir/testfile(文本文件testfile若不存在系统会自动创建,但是目录testdir必须事先存在)
(6)history命令
(a)语法
history [OPTION] [ARGUMENT]
(b)选项
-c:清空当前shell历史命令
-d:删除指定的命令历史
-a:将历史命令缓冲区中命令写入历史命令文件(~/.bash_history)中
-r:将历史命令文件中的命令读入当前历史命令缓冲区
-w:将当前历史命令缓冲区命令写入历史命令文件中
(c)用法
调用命令历史中的命令:
!n:在此执行第n条命令
!!:执行上一条命令
!STRING:执行最近的指定的字符开头的命令,如!s表示执行最近一次一s开头的命令
(d)示例
显示当前shell历史命令的最近的20条命令: history 20
原创文章,作者:pao,如若转载,请注明出处:http://www.178linux.com/25924