linux操作笔记

ln -s src dust,连接

linux操作笔记
**********************************************************************************************
1。在windows下面将一个文件夹下面的所有文件用zip压缩,然后再linux下面,unzip xxx.zip文件就可以了
2。tar xzvf xxx.tar.gz解压缩在当前目录下。
***********************************************************************************************
  压缩
比如一个world文件夹,就用
tar -cf libbak.tar world/*
来将其压缩为一个tar包,好像很多时候就用这样一个tar包就能行了。
然后再
gzip libbak.tar 将其压缩为.tar.gz包
然后就可以用
tar xzvf libbak.tar.gz 来解压缩这个包

解开多种压缩文件
)对于.tar结尾的文件

tar -xf all.tar
//
tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:

  # tar -cf all.tar *.jpg
  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

  # tar -rf all.tar *.gif
  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  # tar -tf all.tar
  这条命令是列出all.tar包中所有文件,-t是列出文件的意思

  # tar -xf all.tar
  这条命令是解出all.tar包中所有文件,-t是解开的意思

  以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件
///
1) tar调用gzip

  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar
中使用-z这个参数来调用gzip。下面来举例说明一下:

  # tar -czf all.tar.gz *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz

  # tar -xzf all.tar.gz
  这条命令是将上面产生的包解开。
///
1)对于.zip

  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,
依旧举例说明一下其用法:

  # zip all.zip *.jpg
  这条命令是将所有.jpg的文件压缩成一个zip包
# unzip all.zip
  这条命令是将all.zip中的所有文件解压出来
///
2)对于.rar

  要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
不是免费的;可从http://www.rarsoft.com/download.htm下载RAR for Linux 3.2.0,然后安装:

  # tar -xzpvf rarlinux-3.2.0.tar.gz
  # cd rar
  # make

  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的
参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  # rar a all *.jpg
  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加
到包名后。

  # unrar e all.rar
  这条命令是将all.rar中的所有文件解压出来
/
********************************************************************************************
------------------------------------------------
linux: top 列出当前进程,和cpu占用率,q退出。
        netstat -an|grep LIST 列出当前监听的端口
********************************************************************************************
[root@backup01 chongqing]# date
四  9月 16 09:33:14 CST 2004

执行date命令,得到当前日期,时间和年份等。
----------------------------------------------
[root@backup01 chongqing]# who
root     pts/4        Sep 16 09:07 (210.78.136.34)
root     pts/8        Sep 16 09:29 (210.78.136.34)

who命令显示所有当前正在使用unix系统的人或者说用户的列表

[root@backup01 root]# who
root     pts/4        Sep 16 09:07 (210.78.136.34)
root     pts/8        Sep 16 09:29 (210.78.136.34)
root     pts/10       Sep 16 09:43 (210.78.136.34)
[root@backup01 root]# who am i
root     pts/10       Sep 16 09:43 (210.78.136.34)

-------------------------------------------------------
shell为我们用户和unix系统之间提供了一个交互界面。它读取我们的
输入然后执行特定的程序。当程序执行时候,还显示命令的输出。
而且,shell不仅仅是一个命令解析器还是一种功能强大的程序设计语言。
包括条件语句,循环和函数。
--------------------------------------------------------
*********************************************************************************************
/
在Linux下如何查找文件?

1. 在当前路径查找文件名为*.sql的文件,代码如下:
$ find . -name "*.sql"
2. 查找大于100MB的文件,代码如下:
$ find . -size +100000
后面的数字的单位是KB。
3. 查找含有print的文件,代码如下:
$ find . -name "*" -exec grep -l "print" {} /
4. 查找并删除tmp*的文件,代码如下:
$ find . -name "tmp*" -exec rm {} /
5. 查找7天内没有修改过的文件,代码如下:
$ find . -mtime +7:

//
如何将文件备份、打包?

1.用tar打包
将指定文件(目录)打包,可使用如下代码:
$ tar cvf 包名 文件(或者目录)列表
例如将/usr/local/var目录的内容打包到var.tar,可以操作如下:
$ tar cvf var.tar /usr/local/var
如果要查看包中文件的内容,可以使用如下代码:
$ tar tvf var.tar 将列出var.tar中文件的内容
展开包的内容时,操作如下:
$ tar xvf var.tar
向已经打好的包中增加文件时,可做如下操作:
$ tar rf 包名 要添加的文件列表
例如将当前目录下的所有.sql文件加入var.tar,可用以下代码实现:
$ tar rf var.tar *.sql
2.用gzip打包
压缩文件时(如将var.tar压缩),可使用如下命令:
$ gzip var.tar
压缩后的包名为var.tar.gz。
解压可用如下代码:
$ gzip -d var.tar.gz
或者:
$ gunzip var.tar.gz
tar可调用gzip将压缩文件解压并展开。比如,将var.tar.gz解压并展开到当前目录,可使用如下命令:
$ tar zxvf var.tar.gz
其中的z选项表示调用gzip。

///
在Linux下如何获得命令帮助?

答:可使用man、info实现。将man的信息保存到文件的代码:
$ man 命令 | col -b > 保存的文件名
 例如,将cp的命令保存到文件cp.txt,代码如下:
$ man cp | col -b > cp.txt

如何查看硬盘使用情况?

答:可以使用df命令,代码如下:
$ df -m
其中m表示按M显示各个分区使用情况。可以使用du查看某个目录占用的空间,代码如下:
$ du -sm
或者查看/usr目录占用的空间(单位为MB),代码如下:
$ du -sm /usr

//
答:较为常用的文字编辑工具是vim,在Linux中缺省安装。vim的一些用法如下。
1. 打开/关闭语法颜色,设置如下:
syn on/syn off
2. 复制指定的区域内容
复制到开始处:mk。
复制到结尾:"ay'k。此时已经将指定的内容压到缓冲区a中。
复制到目标:"ap。这里表示将"a的内容粘贴到当前位置。
3. 查找替换
将文件的所有abc替换为d,代码如下:
%s/abc/def
将第一行到30替换,并且不区分abc的大小写,代码如下:
1,30s/abc/def/i
4. 同时编辑两个文件,代码如下:
vi file1 file2
用:n、:N在两个文件之间切换。
5. 快速移动光标
用w、b实现向前/后移动一个单词;用Ctrl+d和Ctrl+u可实现向后/前翻半页。
如何在Linux下进行文字编辑工作?
如何设置颜色?

答:修改$HOME/.bashrc文件,加入如下代码:
alias ls="ls --color"
然后使用如下代码使修改立即生效:
$ source .bashrc
Linux中常见的颜色含义为:蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝
色表示链接文件;灰色表示其它文件。
 

************************************************************************************************
经验之谈:
grep view $(ls -F|grep //|grep -v u) * -r
可以搜索排除某个目录下的关键字
************************************************************************************************
2004-09-21 下午的一些笔记:
1。shell得初始化过程:
 通过一个initialization的进程来定义一些shell命令所需要的一些参数
 1。首先检查/ect/profile文件是否存在
 2。如果存在,shell就读取该文件。
 3。接着shell检查主目录下面的.profile(.bash_profile, .profile)文件是否存在。
 4。如果存在,shell就读取该文件,否则,跳过
 以上步骤执行完毕之后,显示提示符。Bourne shell默认的提示符为$
2.启动文件.profile饱含了shell初始化过程的所有设置:
 主要包含:
  置放命令的目录列表
  置放命令手册的目录列表。
3.交互和非交互式shell:
shell只能在两种方式下运行,交互 和 非交互
交互:读入输入并执行指定的命令
非交互:读入命令,存放文件中,然后执行,文件结束,退出。
************************************************************************************************
2004-09-22
1。输入输出:
。输出重定向:
 捕捉一个命令的输出并存储在文件中。
$ { date; uptime; who; } > mylog
$ cat mylog
三  9月 22 11:37:03 CST 2004
 11:37:03  up 4 min,  1 user,  load average: 0.04, 0.12, 0.06
root     pts/0        Sep 22 11:36 (192.168.0.62)

。追加到文件:
输出追加到文件,操作符 >>

。输出重定向到文件和屏幕:
 cmd | tee file
如:
 $ date | tee now
 将在屏幕输入date结果,并写入文件now中。

2,输入:
。来自文件的输入重定向:
。从用户那里读取输入:
。重定向一个命令的输出到另一个命令的输入:

* 输入重定向:
 cmd < file
 file的内容作为命令cmd的输入

标准错误:用来输出错误信息的特殊类型的输出,其文件描述符为 2
标准输入:用户通常从标准输入读取输入信息,其文件描述符为 0
标准输出:脚本通常将正常信息输出到标准输出,其文件描述符为 1 ,经常被默认省略

* 重定向标准输出和标准错误到单独的文件:
 如:
  ln -s ch05.doc ./docs >> /tmp/ln.log 2> /dev/null
 
  ln的STDOUT被追加到文件/tmp/ln.log,STDERR被重定向到文件/dev/null,
  出错信息被丢弃。
  注意这里的标准输出文件描述符 1 被省略。
-------------------------------------------------------------------------------
使用精简的linux系统效率会提高吗?
1.根据自己的需要,重新配置编译内核,把不用的去掉,这样会提高效率
2.关注!!! 如何自己定制系统很重要。 如果才能做到单纯的数据库服务器。
必要的内核+shell(只要一个shell)+必要的库和编译器 +数据库(mysql 或者oracle 这是目标)
3.原来是把linux当成windows,以为装多东西了一定就慢了,删了就快了,呵呵,这没有必然的联系
4.估计问题还是出在线程库
rh fc2的线程库是nptl,而你自己做的很有可能还是老的linuxthreads
nptl在线程的创建切换时候相比于linuxthreads有近600%的提升
-------------------------------------------------------------------------------
* 操作文件属性:
 - 常规文件
 l 符号连接
 c 字符设备文件
 b 块设备文件
 p 命名管道
 d 目录文件
如:$ ls -ld /xxx/xxx
$ file xxxx
file指令可以得到该文件的详细信息,如下:
[root@localhost pikenv]# file startup.sh
startup.sh: Bourne-Again shell script text executable
[root@localhost pikenv]# file pikenv.jsp
pikenv.jsp: ISO-8859 C program text
***************************************************************************************
2004-09-23:
第七章:进程
如ls命令列出目录内容,系统就开始了一段进程。
UNIX通过一个5位数字的进程标示符来跟踪进程,同一个系统中每一个进程都有唯一的一个进程标示符
从1到32767,周而复始。同一个系统不可能出现两个相同的进程标示符的。

不用等待一个进程结束后才开始下一个进程,UNIX通过后台进程提供便利。可以悬挂前台进程同时执行
后台进程,并且在前后台进程之间进行切换。

*后台进程:
 输入前台命令,然后+&,切换到后台,
 或者前台命令,然后Ctrl+Z,切换到后台。
 bg,切换到后台继续执行该进程,fg,切换到前台。
 fg,默认是最近一次的后台切换,可在fg后面加上任务号,将其调出。

* 察看那些进程被悬挂,那些进程在后台运行,用 jobs 命令。
或者用 ps 命令也可以。

* 关闭进程:kill
kill 任务号
或者 kill 进程标示符

* 父进程和子进程
  ps -cf

******** SHELL 编程 ***********************************************************************************
第八章:变量
*shell编程中,使用两种变量:
   标量变量:一次只能被赋予一个值
   数组变量:可以被赋予多重值
1。标量变量:
 定义格式:
  name = value
*访问变量:用美元符号$来访问变量的值,但不能定义或分配变量值。

2。数组变量:
--------------------------------------------------------------------
察看SHELL版本:

[root@localhost xiakexing]# echo $BASH
$BASH           $BASH_ENV       $BASH_VERSINFO  $BASH_VERSION  
[root@localhost xiakexing]# echo $BASH_VERSION
2.05b.0(1)-release
[root@localhost xiakexing]#

--------------------------------------------------------------------
BASH版本在2。0以下的,不支持数组变量。

* 建立数组变量:
 name[index] = value
 
 初始化:
  name = (value1 ... valueN);

* 在bash中设定多重数组元素,需要在值之前建立一个数组索引:
如:myarray = ([0]=derri [3]=gene [2]=mike [1]=terry)
    数组索引不必按照顺序。

* 访问数组的值:
如:${name[index]}
访问数组中所有项目:${name[*]}
      ${name[@]}

* 只读变量:
 指一个变量的值在被定义了之后,就不能再更改。
 如:
  $FRUIT=kiwi
  $readonly FRUIT
  $echo $FRUIT
  kiwi
* 删除变量:
 unset name
只读变量无法删除,等shell退出之后才消失

*******************************************************************************
环境和SHELL变量

输出环境变量:
export name
标准语法输出变量:name = value ; export name

shell变量:
*******************************************************************************
置换:
通配符    意义
*    匹配0个或多个任意字符
?    匹配1个任意字符
[characters]   匹配给定的characters中的任何一个字符

----------------------------------------------------------------------------
变量置换:
缺省值置换 ${param:-word}
缺省值赋值 ${param:=word}
空值错误 ${param:?msg}
有值置换 ${param:+word}
----------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值