Linux基础介绍

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)示例

blob.png blob.png

(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)示例

blob.png

显示红色闪烁的字符:

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

(0)
paopao
上一篇 2016-07-26
下一篇 2016-07-26

相关推荐

  • N25-第五周作业

    第五周 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@zf ~]# grep -E "^[[:space:]]+[[:alnum:]]+" /boot/grub/grub.conf     &n…

    Linux干货 2016-12-26
  • 关于 LVM 逻辑卷管理

                  逻辑卷管理 (LVM)    允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   允许在多个设备间重新组织文件系统将设备指定为物理卷用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区…

    系统运维 2016-09-02
  • 文件查找和压缩

    文件查找     在文件系统上查找符合条件的文件;       文件查找:locate, find        非实时查找( 数据库查找) :locate        实时查找:find locate &n…

    Linux干货 2016-08-18
  • 先给出自动化编译安装httpd的脚本,后面的mysql,php-fpm,xcache等还在测试中

    自动化编译安装httpd的脚本! FUNDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "Make …

    Linux干货 2016-10-30
  • 编译httpd2.4.10踩坑记

    作者【Jev Tse】【版权所有】  系统环境:centos6.8     【本文概览】     零、httpd2.4.10编译总结         1、基础环境         2、依赖包组   &…

    Linux干货 2016-11-29
  • 马哥教育网络班21期+第17周课程练习

    1、结合图形描述LVS的工作原理; lvs是基于内核的虚拟主机用来做四层的负载均衡,工作在netfilter框架的INPUT链上,有四种模式,上图为lvs-nat lvs-nat:有DNAT功能,支持端口映射,请求报文和响应报文都需要经过Director 请求过程:cip–>vip,Director,cip–>rip 响应…

    Linux干货 2016-12-26