[Linux]linux基本入门

四 8th, 2011

本打算直接在本本上装一个Linux进行学习,但又担心影响日常的应用。在多方权衡之下,最后还是选择在虚拟机上进行学习。

我安装的虚拟机是VMware Workstation, 安装的系统是redhat 5。

redhat5

但是如果选择在虚拟机上进行这些操作,与window之间进行切换非常不方便,但如果安装了VMware Tool,就不会有这个问题了。我的本意是进行linux命令的学习和shell编程,所有无须有界面。所以我选择了使用putty,这样就可采用ssh方式登录到该linux上进行相应的学习。

 putty  login

这一个星期的学习主要有如下内容:

1. Linux常用的命令:

    a. 文件操作:

linux文件的命名规则:

   1. 大小写敏感. 
   2. 除了’/’之外,字符都是合法的.
   3. 以 . 开头的文件是隐藏文件,如用  ls –a  进行查看会发现一些以 .  开头的文件.

经常使用的命令: 

ls          显示目录或文件   ls –alF

pwd      print work directory  显示目前所在的工作目录

cp         复制文件或目录,如果是复制目录必须加参数 –R 或者 –a :

            语法格式: cp  -afp  [源文件]  [目标文件]

rm        删除文件,如果删除的是目录,则需要加参数 –r ,重要参数:–irf 

            语法格式: rm  -irf  [文件或目录]

mv        剪切或者重命名

cat        一次性将文件读取出来,不论文件大小。

             cat file1.txt > file2.txt 将文件file1.txt中的内容一次全部读来来,写入到file2.txt中

more     分页显示,只能向下看,不能向上看

less       分页显示,可使用键盘上所有的方向键

head -n 文件名 只看前n行, 默认是看前10行

tail   –n  文件名 只看后n行,默认是后10行

tail    –f  文件名 实时的监控文件的后几行

mkdir      能创建空目录, mkdir -p a/b/c/d 递归创建多层目录

rmdir       能删除空目录

chmod     chmod -R 777 mydir  改变目录及目录下所有文件和目录的权限

chown     chown -R user           改变目录及目录下所有的所属人

chgrp       chown -R 组名            改变文件或目录所属组

     b. 权限管理

useradd    增加一个用户。

passwd    设置和修改指定用户的密码。

su             变更为任何指定的用户,但不改变用户环境。

su -           变更为任何指定的用户,但不改变用户环境。

whoami    输出当前用户

 

     c.  帮助

 

whereis   显示系统命令和帮助手册所在目录

whatis     可用于简单了解命令

command  –help

man         帮助命令

2.  Linux vi基本使用

打开终端,输入vimtutor , 就可以看到vim自带的一个帮助文档,里面的内容也非常丰富。

三种模式: 命令模式,插入模式,编辑模式

命令模式 –>> i,a,o—>>插入模式 –>>esc—>> 命令模式.

命令模式—>> :  –>> 编辑模式 –>> enter ,切换回 –>> 命令模式.

——插入命令:

a:   在光标后添加文本                     A:在本行行末添加文件

i:    在光标前插入文本                     I:在本行开始处插入文本

o:  在光标下插入新的一行文本         O:在光标上插入新的一行

——定位命令:

h,j,k,l      右,下,上,左 移动光标

$:  移动到本行行末                         0:移动到本行行首

H:移动到屏幕上端       M:移动到屏幕中央    L:移动到屏幕下端

gg:到文本的第一行          G:到最后一行          nG:  到第n行

        编辑模式:

:set nu,           设置行号

:set nonu,     取消行号

:n,                   到第n行

———删除模式:

x:    删除光标所在处的字符                    nx:  删除光标所在处后的n个字符

dd:  删除光标所在行                           ndd: 删除后n行

dG:  删除光标所在行到文本最后的内容

D:    删除光标所在行到行尾的内容

dw:删除从光标至一个单词的末尾,单词根据空格来判断。

Linux进程管理

查看进程状态:

w user      :             查看个别用户的进程
ps -aux
         -a 显示所有的进程
         -u 显示用户名和启动的时间
         -x 显示没有控制终端的进程

ps -el
         -e 显示所有进程,包括没有控制终端的进程
         -l 以长格式显示进程

ps -aux sort pid  按pid进行排序来显示进程

 

2. 文件系统:

 

1. /boot 目录: 保存系统的引导相关的软件
                     内核文件
                     grub文件

2. /etc 目录: 系统常用的配置文件
                    系统管理员需要修改的配置文件
                    决定系统行为的配置文件

3. /bin 目录: 用户常用的命令
                   文件和目录的操作命令, 所有用户都可以使用的命令

4. /sbin 目录: 保存系统维护所使用的命令文件
                   很多命令普通用户没法使用,只能root使用

5. /lib 目录: 系统运行所需要的库文件
                   静态库: *.a  和动态库: *.so
                   安装某个程序,会拷贝相应的库文件到这个目录中来

6. /dev 目录: 系统设备文件
                   /dev/cdrom
                  /dev/had
                  /dev/sdb

7. /var 目录: 保存系统变化的文件
                  系统日志文件
                  脱机文件
                  邮件信息

8. /mnt 目录: 系统用来安装文件系统设备的目录
                  光盘, /mnt/cdrom
                  U盘, /mnt/sdb2

9. /proc 目录 系统内存和CPU的映射
                  Vi meminfo
                  Vi cpuinfo
                  这些文件不占空间,删除后重启会重新映射过来

10. /tmp 目录: 保存系统运行时产生的临时文件

11. /usr 目录: 保存系统中与用户相关的信息
                  安装软件,Apache, pHP ,…..

12. /home 目录: 普通用户的家目录
                   /home/***

13. /root 目录: root 用户的家目录

 

 

3. 定制自动化执行的任务

 

一次性安排进程任务:

at 安排作业在某个时刻执行一次

batch 安排作业在系统负载不重时执行一次

以at为例:

  • 开启atd服务,输入命令 :  service atd start
  • 输入命令: at [time], 如 at 10:50
  • 进入at 命令行界面,然后输入需要执行的命令.注意命令必须使用绝对路径
  • 完成命令的定制之后,ctrl + D 可退出该界面
  • 查看我定制的任务,可以使用 atq 或者  at –l
  • 删除已经存在的任务,可使用命令 at –d [任务号] 或者 atrm [任务号]
  • 对于任务的编辑,没有相应的命令,但是我们可以利用文件来实现。如将需要执行的任务都写入到一个文件file中,然后输入 at -f file 7:30pm 或者 at < file 7:30pm
  • at的执行结果通过邮件发送给用户
  • at的配置文件,/etc/at.allow,/etc/at.denny

周期性安排进程任务:

crond 搜索 crondtab文件并载入内存
crondtab文件即是 /var/spool/cron/目录下以用户名命名的文件. rond进程启动后,就去检查用户是否设置了crontab文件,如果没有就转入休眠状态,释放系统资源. crond每分钟醒来一次,检查crontab文件是否有任务更新,从而决定当前是否需要执行计划的任务。
命令执行结束后,任何输出都作为邮件发送给创建crontab的所有者。

  • 开启crond服务:service crond start
  • crontab –e  使用编辑器编辑当前crondtab文件,写入需要执行的任务。
  • crontab –l   将使用标准输出中的输出显示当前crontab。
  • crontab –r  删除当前的crontab。
  • cron的配置文件: /etc/cron.allow和/etc/cron.denny

 

学习linux应该是一个漫长的道路,2年前,我曾经因为项目需要,接触了很多大型机,HPUnix,AIX….在linux下也写过自动化脚本,进行c++,python,shell做过一些事情。但是经过2年的微软项目,基本都忘得差不多了,所有我觉得应该在使用中学习liunx,希望我能坚持下来,今年linux是我一个很重要的目标。





除非注明,本站文章均为原创。本文基于 BY-NC-SA 协议进行授权,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 metaboy(包含链接).

本文链接地址: http://blog.wangyuxiong.com/archives/51129

订阅本站:http://www.wangyuxiong.com/feed

分类: 工具推荐         标签: , , ,
  1. Keiwan
    八 14th, 201108:15

    Pin my tail and call me a donkey, that rlealy helped.

  2. 怎样提高英语成绩
    四 17th, 201112:00

    又来逛逛,博主要好好加油哦,以后会常关注你的

无觅相关文章插件,快速提升流量