`

Linux命令学习(笔记二)

 
阅读更多

suaLinux账户管理】

1, 怎样登入Linux主机?当你输入账号密码系统怎么判断呢?

1)先寻找 /etc/passwd 文件里有木有这个账号

没有:跳出

有:将跟该账号对应的UID 与 GID 读出来,还有 shell设定与家目录(home)

2)再寻找 /etc/shadow 文件里对应的 GID跟UID 密码是不是符合

符合:登入系统

不符合:跳出

root的 UID 跟 GID均为 0

2, passwd 的构造

第一栏:账号名称

第二栏:密码(由于将密码搬到etc/shadow 中就用 x代替)

第三栏:UID

第四栏:GID 跟/etc/group 文件有关

第五栏:说明

第六栏:家目录

第七栏:shell 沟通人类下达命令与硬件之间真正动作的界面!

3, shadow 的构造

第一栏:用户名

第二栏:密码(密码栏第一个字符为 * 表示用户不用来登陆)就是说管理员只要在“不听话”的账号密码前加一个 * 他就登陆不上了!

【root密码忘记了怎么办?】

Single 模式登陆进入 /etc/shadow 文件编辑将密码清空:登陆后用 passwd再设定密码就可以了。

第四栏:上次更改密码的日期。15274为累计天数

第五栏:密码需要变更的天数

第六栏:以后的都不重要了…………囧囧囧

4, /etc/group 与 /etc/gshadow简介

群组名称密码群组ID 支持的账号名称

了解下就行了

5, 增加使用者的一般步骤

Groupadd –g 600 test //-g 是自行设置GID大小

Groupdel test

Useradd -u 666 -g 600 -d /home2 -s bash tian

// UID 666 属于GID为600的群组 -d 说明家目录 -s 说明 shell

//此外使用useradd 时候系统会自动的将 /etc/skel 复制为家目录要想增加家目录下面的东西只需要在使用 useradd 之前更改 /etc/skel

6, 关于账号变更时间、密码长度、密码最小值、UID_MIN、GID_MAX的设定在/etc/login.defs

关于useradd 命令的情况及其设定在文件 /etc/default/useradd

7, passwd 命令的使用

查看其存放位置:which passwd ls –l `which passwd`存放在/usr/bin/passwd

Passwd root 根据提示更改密码

8, sudo 执行root用户才能执行的命令

sudo vi /etc/shadow但是需要输入使用者的密码而不是 root密码

9,查询账户的 UID GID (除了在 /etc/passwd /etc/group中直接查看)

Id root

Finger root //查询相关信息

Groups //直接输入就可以看到当前用户所属的群组

【一, 例行性命令】定时做的任务

1, 关于使用图形化设置界面命令的解答

ntsysv //打开界面

如果 RedHat 提示找不到命令的话,应该是变量设置的问题!

解决方法如下:

1) 先在命令行中输入
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:
回车
这样你可以临时恢复环境变量设置,
然后就可以用了。想一直有用的话
#或者$ cd ~
vi .bashrc或者vi .bash_profile
然后把上边那句写进去,好象要加点什么吧。
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin$PATH
下次使用bash的时候就生效了。

2) 长久设置(没有解决)

2, at 用法(一次性执行的命令)

【】/etc/crontabcron服务会每分钟读一次这个文件跟下面的文件

【】当你下达命令时候,命令会写在:/var/spool/cron目录中自动创建一个以用户名命名的文档记下命令

【】执行的记录放在:/var/log/cron

1)at –m time (例如:at -m 10pm 在晚上10点执行****任务执行时屏幕输出结果)

-m //表示屏幕输出执行结果

time格式:04:20 2011-11-03; 4pm+3 days;三天后的下午4点执行

1am May 30 //5月30 凌晨1点执行

写上时间后会出现这个符号>写上要执行的命令 Ctl+D 结束命令

2)atq //查看当前任务

3)atrm number //删除任务这里的number 为任务号 atq可以查看

3,crontab用法(可以循环执行的命令)

参数解析:-l //列出crontab的内容

-e // 编辑crontab

-r //删除crontab的内容(全部删除)

例题:Crontab -e //进入vi编辑界面

59 23 1 5 * mail tianshuai </home/test/lover.txt

解析:分钟/小时/日/月/年(*代表什么都适合)

意义:想要在每年的 5月1号 23:59 发一份信给tianshuai

// */5 每隔5分钟执行一次

收到的mail 会存放在 /var/spool/mail/tianshui 文件内

【二, 程序与资源管理】

1,X-Window只是Linux下的一套软件,不能算操作系统

2,man 命令(系统执行man命令的时候会到 /etc/man.conf中查找 MANPATH而MANPATH存放在 /usr/share/man /usr/local/man中)

, 3,背景工作管理

1) &让命令在背景执行。如:Find / -name test &

2) Ctrl + Z 背景执行不被 Ctrl +C中断(比如:vi 编辑时可以先暂停)

3) Jobs 查询

4) fg number //将暂停的任务拿到前台来执行

5) bg number //将背景中任务由暂停à运行

6) kill number // -9 强制中断进程

7) ps –aux //查看正在执行的系统进程。

重要的一列:STAT:该程序的状态,( R )为可执行的,( S )为该程序正在睡眠中,就是没有执行了,( T )正在侦测或者是停止了,( Z )僵尸程序,就是 zombie 死掉的程序啦!需要以 kill 除去啰!

Ps -l //也可以显示

8) Top 查看进程 //动态查看,每隔5秒刷新

9) Free 查看内存使用情况

10) Uname -a //所有系统信息 -p //CPU信息 -n //列出host name -r//kenel 版本信息

ps –aux | grep crondd

【三, 开机流程与Loader】没仔细看

【四, 原始码与Tarball】

1),File aa.txt //查看文件的类型及相关信息

2),利用Patch 更新原始码

1,原始代码,想更新expatch.old

expatch.old

echo tianshuai

expatch.new

echo tianshuai

echo is a student

2,输入命令查看两个文档不同

diff -c expatch.old expatch.new

输出:

*** expatch.old 2011-11-04 19:42:09.000000000 +0800 //这是等待更新的

--- expatch.new 2011-11-04 20:03:24.000000000 +0800

***************

*** 1 ****

--- 1,2 ----

echo tianshuai

+ echo is a good student //先添加代码

3,vi patch.path

将上述代码拷贝进去

执行命令:patch –p0 < expatch.patch

3),静态链接库 lib***.a

编译行为:整个静态链接库都整合到执行文件

独立执行状态:编译成功后可以独立执行,不必要求读取函数库

升级难度:需要从新编译

动态链接库 lib***.so

编译行为:编译后只指向动态函数库位置,没有整合到执行档中

独立执行状态:不可以独立执行,必要求读取函数库存在且目录不变

升级难度:不需要重新编译

4),验证软件的正确性

MD5sum -bct filename

-b //binary 的读文档方式

-c //检验MD5sun的档案指纹

-t //文字形态读取 MD5sum 的档案指纹

【六,RPM与SRPM套件管理员】

1),RPM (RedHat Package Manager) *******.rpm

安装套件时不需要将套件源码编译,但是一定要跟当初安装的主机的环境一致才可以安装。必须满足套件的相依性属性需求。安装的时候会将套件的信息写入RPM数据库,以便未来的查询、验证、与反安装。

缺点:反安装时,不要把系统底层套件移除,否则会出现问题。

2),SRPM(Source RedHat Package Manager) ********.src.rpm

带源码的套件。就是要想安装需要,编译一下。

好处是,自己可以修改源码后再编译。

3),详解RPM

rpm -i ****.rpm //安装时

-I //安装的意思

-v //显示细节

-h //已安装信息列显示安装进度

rpm -e **** //卸载

提示:can't create transaction lock on /var/lib/rpm/__db.000

原因:没有以root身份登录安装

解决方案:su root 然后安装就可以了

4),linuxqq-v1.0.2-beta1.i386.rpm

套件名版本释放次数适合的硬件平台附文件名

********************制作成功RPM********************************

5)1,下载zxvf rp-pppoe-3.10.tar.gzhttp://www.roaringpenguin.com/pppoe/

2,最好转到root身份下执行 su root

3, cp /home/rp-pppoe-3.10/rp-pppoe.spec /usr/src/redhat/SOURCES/

cp /home/rp-pppoe-3.10.tar.gz /usr/src/redhat/SOURCES/

//需要将配置文件跟压缩包同时拷贝到制作RPM 所需路径下

4, cd /usr/src/redhat/SOURCES/

5,rpmbuild -bb rp-pppoe.spec <==仅编译成 RPM 档案

rpmbuild -ba rp-pppoe.spec <==编译并同时产生RPM 与 SRPM 档案

出现错误:  RPM build errors:

  Installed (but unpackaged) file(s) found:

  解决办法:

  将/usr/lib/rpm/macros 中

  %__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉

步骤:cd /usr/lib/rpm/然后:chmod a+w macros

6,rpm –ivh ******.rpm //安装自己制作的rpm包吧

【七,Tarball跟rpm区别】

Tarball 是原始码,打包成 .tar.gz 解压后含:

1. 原始码2,侦测程序档案(configure/config)3,套件的安装说明(INSTALL或READEME)

2. 但是反安装很麻烦,就是卸载起来不好办。

RPM 是安装包 rpm –ivh ******.rpm 安装即可。可能依赖性比较高!!

【八,核心编译与模块管理】

概念:将核心的原始码编译成binary的可执行文件,成为系统可以认识的执行文件。

下载命令:wget http://aerosol.ev.ncku.edu.tw/~vbird/download/linux-2.4.18.tar.gz

查看内核版本:uname -r

1),核心的编译:要将核心放在这个文件夹下/usr/src/linux

2),如果没有linux 文件夹。直接将解压的kernel 文件夹放到/usr/src目录下。然后cd usr/src/linux***

3),make mrproper //去除已经编译过的文件

4),特别注意:如果你编译两次以上,会有上次编译的模块放到 /lib/modules中

Cd /lib/modules

Mv file file.old

5),make menuconfig //设定 kernel 的选项(这里一定要参照说明,有很多服务还有硬件支持一定要选中)

6),开始编译: make dep //建立相依的属性关系

Make clean //将旧资料去除

Make bzImage //开始编译核心

Make modules //开始编译模块

Make modules_install //将数据安装在 /lib/modules/***中

Make install //将建立的核心安装上

7)安装核心:核心编译完成放在/usr/src/linux/arch/i386/boot/bzImage中了

需要将核心放在/boot目录下

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18

【九,系统设定常用指令】

1),setup //一个图形化设置界面

2),立即启动服务:启动apache

/etc/rc.d/init.d/httpd start

【十,认识系统服务】

1),vi /etc/services //窗口与服务的对应关系

第一栏:Daemon name

第二栏:daemon 使用的port以及网络数据包传送时的类型

第三栏:服务的说明

Service **** start //启动服务

3),系统开启的服务

netstat -r //显示当前的路由表

netstat -a //显示目前所有网络的联机状态

netstat -t/-u //显示Tcp Udp 封包的状态

netstat -l //仅显示LISTEN的内容

netstat -tlp //得到目前在 LISTEN 的 port 的服务名称

LISTEN:亦即监听状态中的 port

ESTABLISHED:已经建立联机的联机状况

TIME_WAIT:该联机已经是等待的状态

【十一,认识登录档】

Chattr +a filename //文件将不能进行操作

Chattr -a filename //文件恢复操作

Last // 调出登陆日志

分享到:
评论

相关推荐

    linux命令学习笔记.docx

    Linux 命令学习笔记 本笔记将涵盖 Linux 命令的基本概念、虚拟机的概念、Linux 主要目录结构、Linux 命令速查表、文件和目录常用命令等几个方面。 一、Linux 概念 Linux 是一种免费、开放源代码的操作系统,广泛...

    Linux学习笔记(强悍总结值得一看)_linux_linux学习笔记_

    这份"Linux学习笔记(强悍总结值得一看)"是Linux初学者的宝贵资源,也适合有经验的用户作为参考手册。以下是对笔记内容的详细概述: 1. **Linux常用命令**: Linux命令行是其强大的工具,掌握常用命令是Linux学习...

    Linux常用命令学习笔记(-)

    ### Linux常用命令学习笔记 #### 一、更改帐号密码 - **命令**: `passwd` - **功能**: 更改用户密码。 - **语法**: `passwd` - 输入旧密码:`Old password:` - 输入新密码:`New password:` - 重新输入新密码...

    Linux学习笔记 (华为工程师总结) 完整版PDF

    程序员多少都需要了解一点linux命令的知识。 《Linux学习笔记》这份资料非常全面且详细,从 Linux 常用命令到 Linux 常用操作,再到网络管理、性能优化,几乎覆盖了 Linux 基础学习的方方面面,非常适合初学者入门...

    linux学习笔记,linux命令整理

    在Linux操作系统的学习中,掌握命令行的使用是至关重要的。...总的来说,Linux学习笔记是一个全面了解和掌握Linux系统操作的基础教程,涵盖了从基本命令到高级管理的诸多方面,对提升Linux技能有很大帮助。

    Linux命令学习笔记

    ### Linux命令学习笔记 在本篇文章中,我们将详细介绍如何运用Linux命令来编写高效的Shell脚本。这不仅仅是一份简单的指南,而是深入探索Linux系统管理、自动化任务和脚本编写的一次旅程。文章涵盖的主要内容包括:...

    Linux学习笔记Linux学习资料Linux教程

    【linux学习笔记--17】POSIX IPC——消息队列.doc 【linux学习笔记--18】POSIX IPC——信号量.doc 【linux学习笔记--19】...【linux学习笔记-5】编写自己的ls命令.doc 【linux学习笔记-6】文件IO操作--读写、重定向等.

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 博文来自http://blog.csdn.net/wklken,共12篇,类似手册,可快速练习和查阅,容易上手 文档列表: Linux笔记——vim常用操作及扩展补充...

    linux shell命令学习笔记

    linux shell命令学习笔记

    linux-常用命令学习笔记.pdf

    以上就是Linux系统中一些常用命令的学习笔记。每个命令后面通常可以跟上不同的选项和参数,来满足不同的需求。掌握这些命令,对于Linux系统的日常运维工作至关重要。随着时间的推移,建议持续学习和实践,不断提高对...

    Linux学习笔记+个人对linux的命令总结

    ### Linux学习笔记与命令总结 #### 一、Linux基础概念 1. **Kernel 内核**: Linux 的核心部分,负责管理系统的硬件资源,并提供必要的服务给其他系统软件和应用程序。 2. **Shell 外壳**: 用户与操作系统之间的...

    linux学习基础笔记

    这份“Linux学习笔记.doc”文档可能会详细讲解以上各点,对于初学者来说是一份非常实用的学习资料。通过深入学习,你可以掌握Linux操作系统的核心技能,为后续的系统管理、开发或运维工作打下坚实基础。

    linux基本命令学习笔记

    Linux 基本命令学习笔记 Linux 是一个基于 Unix 的免费操作系统,它的历史发展可以追溯到 1960 年代。1969 年,Ken Thompson 在美国贝尔实验室用汇编语言完成了 UNIX 操作系统。1971 年,Dennis Ritchie 发明了 C ...

    linux课堂学习笔记

    “ule”和“code”可能指的是课程中的示例代码或实验项目,可能包含了实现特定功能的Linux命令、脚本或者驱动程序代码,帮助学习者通过实践来加深理解。而“txt”文件可能包含了额外的注释、讲解或者练习题,以辅助...

    非常宝贵的LINUX学习笔记

    【linux学习笔记-5】编写自己的ls命令 【linux学习笔记-6】文件IO操作--读写、重定向等 【linux学习笔记-7】用户标识UID与有效用户标识EUID 【linux学习笔记-8】Linux进程相关系统调用(1) 【linux学习笔记-9】...

    Linux终端命令学习笔记.odt

    Linux终端命令学习笔记.odt

    linux嵌入式学习笔记更新中

    Linux 嵌入式学习笔记主要涵盖了Linux操作系统的基础知识以及C语言编程的相关内容。下面将对这些知识点进行详细的解析。 1. Linux基础操作: - 登录:在Linux系统中,用户通过`用户名:密码`的方式登录系统。 - ...

Global site tag (gtag.js) - Google Analytics