day2 Linux shell命令

【1】man、passwd、su、echo命令的用法

1、获取联机帮助

1)使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。一般语法格式为:

man commandname

2)联机帮助页提供了指定命令commandname的相关信息,包括:名称、函数、语法以及可选参数描述等。

3) 无论帮助有多长,都遵循这个格式显示。在页面很多的情况下使用PageUp和PageDown键翻页。最后,使用“:q”退出帮助页面。

2、通常联机帮助信息包括以下几个部分:

1)NAME:命令的名称

2)SYNOPSIS:命令的语法格式

3)DESCRIPTION:命令的一般描述以及用途

4)OPTIONS:描述命令所有的参数或选项

5)SEE ALSO:列出联机帮助页中与该命令直接相关或功能相近的其他命令

6)BUGS:解释命令或其输出中存在的任何已知的问题或缺陷

7)EXAMPLES:普通的用法示例

8)AUTHORS:联机帮助页以及命令的作者

3、man 3 printf 查库函数

man 2 open 查系统调用

man -a open 会将系统中与open相关的都列出来

4、基本系统维护命令

1) passwd

a. 出于系统安全考虑,Linux系统中的每一个帐号都必须同时具备用户名和密码。

b. 可以使用passwd命令,为已有账户重新修改用户口令。

c. 需要说明的是,超级用户root可以修改所有其他用户的口令,而普通用户只能修改自己的用户口令,如果确要修改超级用户或其他用户口令的话,需要具有超级用户的权限。

d. passwd命令的一般语法格式为:passwd username

2) 单独使用passwd命令,意为修改当前用户自己的口令。下面命令实例用于修改用户自己的口令。

  • linux@ubuntu:~$ passwd

  • Changing password for linux #修改当前用户口令

  • (current) UNIX password: #用户输入旧口令

  • Enter new UNIX password: #用户输入新口令

  • Retype new UNIX password: #确认新口令

  • passwd:已成功更新密码

3)su

  1. su命令用于临时改变用户身份,具有其他用户的权限。普通用户可以使用su命令临时具有超级用户的权限;

  1. 超级用户也可以使用普通用户身份完成一些操作。当需要放弃当前用户身份,可以使用exit命令切换回来。su命令的一般语法格式为:su [-c | -m - ] username

  1. 选项“-c”表示执行一个命令后就结束;

  1. -m表示仍保留环境变量不变;

  1. -表示转换用户身份时,同时使用该用户的环境。

  1. 单独使用su命令,默认为要转换为超级用户root。

下面命令实例临时获取超级用户root的权限。可以从命令提示符中可以看出,“linux”用户使用su命令切换为root用户。

linux@ubuntu:~$ su

Password: #当前用户输入超级用户的口令

root@ubuntu:/home/linux#

4) echo

a.echo命令用于在标准输出——显示器上显示一段文字,一般起到提示作用。

echo命令的一般语法格式为:echo [-n] information

b.选项-n表示输出文字后不换行。提示信息字符串可以加引号,也可以不加。

linux@ubuntu:~$ echo "Hello everyone." #输入信息字符串使用引号

Hello everyone.

linux@ubuntu:~$ echo ‘$PATH’ #严格的原样输出

$PATH.

linux@ubuntu:~$ echo Hello everyone. #输入信息字符串不使用引号,字符串之间用一个空格隔开

Hello everyone.

【2】date、clear、df、du命令的用法

(1) date

a. date命令用于显示和设置系统日期和时间。date命令的一般语法格式为:

date [-d | -s|-u ] datestr

b. 选项-s表示按照datestr日期显示格式设置日期;单独使用date命令,用于显示系统时钟中当前日期。

时间的格式为:“hh:mm:ss”,日期格式为:“mm/dd/yy”。

linux@ubuntu:~$ date #查看当前时间

2007年 09月 16日 星期日 18:44:45 CST

linux@ubuntu:~$ sudo date -s 1:19:18 #设置新时间,需要系统管理员权限

Password:

2007年 09月 16日 星期日 01:19:18 CST

(2) clear

a. clear命令用于清除屏幕上的信息。清屏后,sell命令提示符移动到屏幕左上角。

clear命令的一般语法格式为:

clear

b.由于shell命令是逐行执行,执行结果也将随即显示。因此,用户在使用命令终端窗口时,终端窗口会很快就会被字符占满。

clear可以帮助清理一下窗口中杂乱的字符显示。

(3) df

  1. df命令用于查看磁盘空间的使用情况。查看磁盘空间是用户应当经常做的事情,因为谁也不希望看到根或/var分区在不经意间填满,以便及时清理。df命令的一般格式为:df [-a | -T | -h | -k ] Filesystem

  1. 其中,参数Filesystem表示物理文件系统。各选项的含义如表所示。

选项 含义

-a 显示所有物理文件系统的使用情况,包括虚拟文件系统,如/proc、/sys等

-T 显示物理文件系统的文件格式类型

-h 物理文件系统大小按兆字节为单位显示

-k 物理文件系统大小按千字节为单位显示


  1. 从以下命令的执行结果可以看到,这台计算机只有一块硬盘(/dev/sda1),文件格式类型为Ext3,已经使用36%的存储空间。同时,可以发现计算机上还安装了CD-ROM(/dev/hdc)、USB存储器(/dev/sdb1)。其他分区均为专用的虚拟文件系统

linux@ubuntu:~$ df –T

文件系统 1K-块 已用 可用 已用% 挂载点

/dev/sda1 ext3 7850996 2664868 4787316 36% /

  1. df 命令

常用参数:

-a :列出所有文件系统

-k :列出磁盘的分配情况(KB)

-h :同-k, 但大小以G、M,K单位显示

-l :仅列出本地文件系统

例:

#df -h

du命令,列出目录和文件所使用的磁盘块数,每块占512个字节。

常用参数:

-a :仅列出空闲的文件数

-h :列出磁盘的使用情况(KB)

-s :列出总的空闲空间(KB)

例:

#du –h /etc

【3】用户管理相关文件介绍

(1)用户管理

用户的属性

1)用户名

2)口令

3)用户ID(UID)

4)用户主目录(HOME)

5)用户shell

(2)/etc/passwd文件

/etc/passwd文件是系统能够识别的用户清单。用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令

1)登陆名

2)经过加密的口令

3)UID

4)默认的GID

5)个人信息

6)主目录

7)登陆shell

(3)/etc/group文件

1)包含了UNIX组的名称和每个组中成员列表

2)每一行代表一个组,包括4个字段:

组名、加密的口令、GID号、成员列表,彼此用逗号隔开

(4)添加用户

adduser

语法:adduser

实例:

# adduser newuser

添加用户名为newuser的新用户

(5)adduser配置文件

/etc/adduser.conf

FIRST_UID=1000

LAST_UID=29999

USERS_GID=100

DHOME=/home

DSHELL=/bin/bash

SKEL=/etc/skel

(6)SKEL模板

/etc/skel目录是被 /usr/sbin/useradd使用

把想要新用户拥有的配置文件从/etc/skel目录拷贝,常用的文件:

.bash_profile

.bashrc

.bash_logout

dircolors

.inputrc

.vimrc

【4】用户管理相关命令介绍

(1)添加新用户的过程

1) 系统

编辑passwd和shadow文件,定义用户帐号

设置一个初始口令

创建用户主目录,用chown和chmod命令改变主目录的属主和属性

2) 为用户所进行的步骤

将默认的启动文件复制到用户主目录中

设置用户的邮件主目录并建立邮件别名

(2) 设置初始口令

1) 使用passwd命令可以修改用户口令

2) root用户可以修改任何用户的口令

语法:passwd [-k] [-l] [u] [-f] [-d] [-S] username

使用方法:

passwd username

(3) 修改用户属性

usermod

语法:usermod [-u uid [-o]] [-g group] [-G gropup,…]

[-d home [-m]] [-s shell] [-c comment]

[-l new_name] [-f inactive][-e expire]

[-p passwd] [-L|-U] name

举例用户oldname改名为newname,注意要同时更改家目录:

usermod –d /home/newname –m –l newname oldname

(4) 删除用户

deluser

语法: deluser

使用方法:

deluser --remove-home user1

删除用户user1的同时删除用户的工作目录

(5) 添加用户组

addgroup

语法: addgroup groupname

使用方法:

addgroup groupname

(6) 删除用户组

delgroup

语法: delgroup groupname

使用方法:

delgroup groupname1

【5】进程的概念

(1)编译程序上的两个进程程序的一次执行就是一个进程

程序的两次执行就产生了p1和p2进程

【6】使用ps命令查看进程

(1)显示进程(process)?的动态

(2)语法:

ps [options]

(3)常见的参数:

-A 列出所有的行程

-w 显示加宽可以显示较多的资讯

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

(4) %CPU 占用的 CPU 使用率

%MEN 占用的记忆体使用率

VS2 占用的虚拟记忆体大小

RSS 占用的记忆体大小

STAT 该进程的状态

START 进程开始时间

TIME 执行的时间

(5)进程的状态标志

D:不可中断的静止

R:正在执行中

S:阻塞状态

T:暂停执行

Z:不存在但暂时无法消除

<:高优先级的进程

N:低优先级的进程

L:有内存分页分配并锁在内存中

(6) top命令

1)监视进程

2)通常会全屏显示,而且会随着进程状态的变化不断更新

3)整个系统的信息也会显示,为查找问题提供了便利

4)可以显示系统总共有多少CPU和内存资源以及负载平衡等信息。

(7) pstree命令

1) 将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本进程为根,

如果有指定使用者id,则树状图会只显示该使用者所拥有的进程。

2)参数:

-a 显示该进程的完整指令及参数,如果是被记忆体置换出去的进程则会加上括号

-c 如果有重覆的进程名,则分开列出

【7】使用kill命令终止进程

(1)使用kill命令终止进程

kill [-signal] PID

signal是信号,PID是进程号

kill 命令向指定的进程发出一个信号signal,在默认的情况下,kill 命令向指定进程发出信号15,

正常情况下,将杀死那些不捕捉或不忽略这个信号的进程

你可能感兴趣的:(LV2Linux,C语言高级,我的小白学习笔记,linux,unix,服务器)