资讯详情

Linux shell内核使用

$ tput init

tput产生三种不同的输出:字符型、数字型和布尔型(真实的/假)。

/字符串输出/

常用字符串

名字 含义

bel 警铃

blink 闪烁模式

bold 粗体

civis 隐藏光标

clear 清屏

cnorm 不隐藏光标

cup 将光标移动到屏幕位置( xy

el 清除到行尾

ell 清除到行首

smso 启动突出模式

rmso 停止突出模式

smul 开始下划线模式

rmul 下划线模式结束

sc 保存当前光标位置

rc 恢复光标到最终保存位置

sgr0 正常屏幕

rev 逆转视图

/数字输出/

以下是大多数常用的数字输出。

名字含义

cols 列数目

ittab设置宽度

lines 屏幕行数

/布尔输出/

tput布尔操作符只有两种。

名字含义

chts 光标不可见

hs 具有状态行

例如:tput clear 清除屏幕

可以用tput将光标放在屏幕任意位置。格式为:

cup r c

r为从上至下屏幕行数, c为穿过屏幕列数。

最好将之编成函数,这样就可以把行和列的值传递给它。

例子:tput cup 2 3命令将光标放到第2行、第3列。

对域使用颜色可以使数据输入屏幕看起来更加专业。下面将使用的颜色是A N S I标准颜

色,并不是所有颜色都适合于所有系统。下面列出了大部分常用颜色。

1. 前景色:

数字颜色数字颜色

3 0 黑色3 4 蓝色

3 1 红色3 5 紫色

3 2 绿色3 6 青色

3 3 黄(或棕)色3 7 白(或灰)色

2. 背景色:

数字颜色数字颜色

4 0 黑色4 4 青色

4 1 红色4 5 蓝色

4 2 绿色4 6 青色

4 3 黄(或棕)色4 7 白(或灰)色

例子:黑底绿字echo "33[40;32m"

使用tput命令可以增强应用外观及脚本的控制。颜色设置可以增加应用的专业性。注意使

用颜色不要太过火,否则速度会非常的慢。

< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 

shell基础1-----Linux的用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

  实现用户账号的管理,要完成的工作主要有如下几个方面:

  ? 用户账号的添加、删除与修改。

  ? 用户口令的管理。

  ? 用户组的管理。

  用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

  添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被定的,无法使用。

1、添加新的用户账号使用useradd命令,其语法如下:

  代码:

useradd 选项 用户名

  其中各选项含义如下:

代码:

  -c comment 指定一段注释性描述。

  -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

  -g 用户组 指定用户所属的用户组。

  -G 用户组,用户组 指定用户所属的附加组。

  -s Shell文件 指定用户的登录Shell

  -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

  用户名 指定新账号的登录名。

2、例子说明

  例1

  代码:

# useradd ?d /usr/sam -m sam

  此命令创建了一个用户sam

  其中-d-m选项用来为登录名sam产生一个主目录/usr/sam/usr为默认的用户主目录所在的父目录)。

  例2

  代码:

# useradd -s /bin/sh -g group ?G adm,root gem

  此命令新建了一个用户gem,该用户的登录Shell/bin/sh,它属于group用户组,同时又属于admroot用户组,其中group用户组是其主组。

  这里可能新建组:#groupadd groupgroupadd adm 

 

  增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

  Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

3、删除帐号

  如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:

  代码:

userdel 选项 用户名

  常用的选项是-r,它的作用是把用户的主目录一起删除。

  例如:

  代码:

# userdel sam

  此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

4、修改帐号

  修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

  修改已有用户的信息使用usermod命令,其格式如下:

  代码:

usermod 选项 用户名

  常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:

  代码:

-l 新用户名

  这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

  例如:

  代码:

# usermod -s /bin/ksh -d /home/z ?g developer sam

  此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer

5、用户口令的管理

  用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

  指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

  代码:

passwd 选项 用户名

  可使用的选项:

代码:

  -l 锁定口令,即禁用账号。

  -u 口令解锁。

  -d 使账号无口令。

  -f 强迫用户下次登录时修改口令。

  如果默认用户名,则修改当前用户的口令。

  例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

代码:

  $ passwd

  Old password:******

  New password:*******

  Re-enter new password:*******

  如果是超级用户,可以用下列形式指定任何用户的口令:

代码:

  # passwd sam

  New password:*******

  Re-enter new password:*******

  普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

  为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

  为用户指定空口令时,执行下列形式的命令:

  代码:

# passwd -d sam

  此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

  passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

  代码:

# passwd -l sam

 

Linux shell 简介

Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。这种面向命令行的用户界面被称为 CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。

现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。然而,专业的 Linux用户认为Shell是一个非常有用的工具,学习 Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令

启动shell

在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来,

按如下的组合键就可以:

+ +

组合键中的F2可以替换为F3F4F5F6

如果要回到图形界面,则按如下组合键:

+ +

另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面

是等效的。“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是:

【开始】 【应用程序】 【附件】 【系统终端】

该软件允许建立多个Shell客户端,它们相互独立,可以通过标签

在彼此之间进行切换。

Shell命令基本规则

一般格式

Shell命令的一般格式如下:

命令名 【选项】 【参数1 【参数2...

【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个 减号(-)连起来,如ls -l -a

ls -la 相同。

【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。

使用分号(可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序

相同。

在送入命令的任何时刻,可以按 键,当这样做时,系统将试图补全此时已输入的命令。如果已

经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按 键,系统则会给出可用来用来补全的字符串清单。使用命令补全功能,可以提高使用长命令或操作较长名字的文件或文件夹的都是非常有意义的。

系统会把过去输入过的命令记忆下来,只要按方向键中的上下箭头,就可以选择以前输入过的命令了。

可以通过man命令来查看任何命令的联机帮助信息。它将命令名作为参数,该命令的语法格式为:

man 【命令名】

在任何命令之后给help参数,也可以显示该命令的帮助信息。

目录和文件操作

查看当前目录相对于根目录的位置

pwd

查看当前目录内容

ls

以长格式查看当前目录内容。对应每个文件的条目将包括连接数目、所有者、大小、最后修改时间、

权限等内容

ls -l

改变当前目录。目的目录名可用相对路径表示,也可以用绝对路径表示。

cd [目的目录名]

转移到上一级目录

cd ..

创建目录

mkdir [新目录名]

例:

mkdir /var/ftp

删除空目录

rmdir [目录名]

例:

rmdir /var/ftp

递归删除一个目录中的所有文件和该目录本身。

rm -r [目录名]

复制文件

cp [源文件名] [目标文件名]

重命名文件

mv [源文件名] [目标文件名]

例:

mv /etc/rc.d/rc3.d/K50xinetd /etc/rc.d/rc3.d/S50xinetd

删除文件

rm [文件名]

不需确认地删除多个文件

rm -f [带通配符的文件名]

硬链接文件。不能对目录文件做硬链接,不能在不同的文件系统之间做硬链接。

ln [源文件名] [目标文件名]

如下面的例子。源文件abc.png存储在/root下,硬链接myabc.png存储在用户workman的家目录下。

做了这个链接之后,用户rootworkman就可以使用不同的文件名来读写同一个图形文件。即使rootabc.png删除,这个图形文件仍然存在,只有当workmanmyabc.png也删除后,这个文件才会彻底从计算机上消失。

ln /root/abc.png /home/workman/myabc.png

软链接文件。也就是符号链接。可用此法创建文件的快捷方式。

ln -s [源文件或文件夹名] [目标名]

按文件名查找文件。

find / -name nametofind -print

改变文件所有者。

例:

chown workman.workgroup /data/pub/upload

改变文件访问权限

例:

chmod -R 755 /usr/local/LumaQQ

查看一个文件有多少行

wc -l usr.bin

查看一个文件有多少字节

wc -c usr.bin

查看文本文件的内容

cat usr.bin

用户管理

改变身份。如果不指定用户名,则默认将用户身份换至root。从root身份切换到其他任何身份都不需

要口令。

su [username]

添加用户

例:

adduser -c "MyW" -d /home/workman -g root workman

设置用户口令

例:

passwd workman

安装和卸载软件

安装rpm软件

例:

rpm -Uvh kdevelope-3.1-1.i386.rpm

卸载rpm软件

例:

rpm -e kdevelope

配置、编译、安装、卸载源码发布的软件包。

./configure

make

make install

make clean

卸载源码发布的软件包

make uninstall

文件的打包和解包

tar

例:

tar -xvzf gaim-0.77.tar.gz

tar -jxvf XXX.tar.bz2

生成tar

例:

tar cvf - /etc | gzip-9c > backup.tar.gz

生成rar

rar a test.rar file1.txt

rar a test.rar dir1

rar

rar x test.rar

zip

unzip lumaqq_p3.zip

挂装一个iso文件,参数 iocharset=cp936 并不是必须的。如果被挂装的iso文件中存在中文文件名,此参数必须带,否则,中文文件名将显示为乱码。

mount -t iso9660 -o loop,iocharset=cp936 /data/myarc.iso /mnt/iso

卸装iso文件

umount /mnt/iso

生成一个iso文件

cp /dev/cdrom /home/gsh/TomJerry1.iso

远程Shell登录

ssh远程登录进行命令行操作

ssh -l workman 192.168.0.101

ssh远程登录进行文件的传送

sftp workman@192.168.0.101

磁盘信息的低级复制

Linux分区引导扇区的信息提取出来生成一个文件bootsect.lnx,放到WindowsC盘。

dd if=/dev/hda2 of=bootsect.lnx bs=512 count=1

bootdisk.img写到软盘上。

dd if=bootdisk.img of=/dev/fd0

使用缩略符号

波浪线 (~)代表家目录。如果现在位于/home/workman/MyOSS-Stuff/IOSN,那么只需执行“cd ~”就可

以回到家目录/home/workman而不必输入“cd /home/workman”。

一个点(.)代表当前目录,而“../ 代表上一级目录。“../”可以嵌套使用,比如“../../”。

输出重定向

在默认的情况下,Linux从键盘接受输入,并将命令的输出送到屏幕。在有时候,这样做并不方便。比如,在一个目录里有很多文件,如果只用简单的ls命令,在屏幕上显示的输出结果可能上千行!为了得到我们需要的信息。我们或许需要把这些结果存储到一个文件中然后再查看这个文件,这就要用到系统的输出重定向功能。

输出重定向的操作符为>>>

单个大于号(> )后面紧跟文件名。如果指定的文件不存在,将建立这一文件。如果指定的文件存在,则

文件原有的内容将被覆盖。如果使用两个大于号(>> )则会把输出内容追加到原来文件里面。下面是一个例子:

1.[-(/tmp)> ls /usr/bin >> usr.bin

2.[-(/tmp)> wc -l usr.bin

3.2171 usr.bin

4.[-(/tmp)> ls /usr/bin >> usr.bin

5.[-(/tmp)> wc -l usr.bin

6.4342 usr.bin

7.[-(/tmp)> ls /usr/bin > usr.bin

8.[-(/tmp)> wc -l usr.bin

9.2171 usr.bin

注:行号是为了行文方便加入的,并不是shell的输出.

1行,/usr/bin中的文件列表被写入文件usr.bin,由于这个文件原来并不存在,系统会自动创建。从第3行可以看出usr.bin的行数。在第4行又重复了第1行的命令,由于使用的是>>usr/bin中的文件列表被追加写入文件,usr.bin的行数也就增加了一倍。在第7行我们使用了> usr/bin中的文件列表被写入文件,usr.bin中原有的内容被覆盖了,行数也变成了新的值。

管道

将一个程序的标准输出写道一个文件中去,再将这个文件的内容作为另一个命令的标准输入,等效于

通过临时文件将两个命令结合起来。这种情况很普遍,需要Linux系统提供一种功能:它不需要或不必使用临时文件,就能将两条命令结合在一起。这种功能就是管道。

管道的操作符是一个竖杠 |”。管道是可以嵌套使用的,因此可以把多个命令结合在一起。

接上例,如果执行下面的命令将直接返回/usr/bin中的文件列表的行数,而不是列表的内容。

ls /usr/bin | wc -l

远程Shell服务

支持远程操作是Linux的一个非常重要的特点。利用此功能,用户从另一台计算机远程登录上来,进

Shell命令的操作。

红旗Linux4.1桌面版已经安装了支持

标签: s50变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台