`

unix疯狂学习

    博客分类:
  • unix
阅读更多
一、注意事项
    命令和参数之间必需用空格隔开,参数和参数之间也必需用空格隔开。
    一行不能超过256个字符;大小写有区分。


二、特殊字符含义
    文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。
    ~/       表示主目录。   
    ./       当前目录(一个点)。   
    ../      上一级目录(两个点)。
    ;        多个命令一起用。
    >  >>    输出重定向  。将一个命令的输出内容写入到一个文件里面。如果该文件存在, 就将该文件的内容覆盖;
             如果不存在就先创建该文件, 然后再写入内容。
             输出重定向,意思就是说,将原来屏幕输出变为文件输出,即将内容输到文件中。
    <  <<    输入重定向。  本来命令是通过键盘得到输入的,但是用小于号,就能够使命令从文件中得到输入。
    \        表示未写完,回车换行再继续。
    *        匹配零个或者多个字符。
    ?        匹配一个字符。
    []       匹配中括号里的内容[a-z][A-Z][0-9]。
    !       事件。
    $        取环境变量的值。
    |        管道。把前一命令的输出作为后一命令的输入,把几个命令连接起来。
             |经常跟tee连用,tee 把内容保存到文档并显示出来。


三、通用后接命令符
    -a    所有(all)。
    -e    所有(every),比a更详细。
    -f    取消保护。
    -i    添加提示。
    -p    强制执行。
    -r    目录管理。

分屏显示的中途操作
    空格<space>       继续打开下一屏;
    回车<return>      继续打开下一行;
    b                另外开上一屏;
    f                另外开下一屏;
    h                帮助;
    q或Ctrl+C        退出;
    /字符串           从上往下查找匹配的字符串;
    ?字符串          从下往上查找匹配的字符串;
    n                继续查找。

四、退出命令
exit    退出; DOS内部命令 用于退出当前的命令处理器(COMMAND.COM)     恢复前一个命令处理器。
Ctrl+d  跟exit一样效果,表中止本次操作。
logout  当csh时可用来退出,其他shell不可用。

clear   清屏,清除(之前的内容并未删除,只是没看到,拉回上面可以看回)。


五、目录管理命令
pwd   显示当前所在目录,打印当前目录的绝对路径。
cd    进入某目录,DOS内部命令 显示或改变当前目录。
      cd回车/cd ~      都是回到自己的主目录。
      cd .            当前目录(空格再加一个点)。
      cd ..           回到上一级目录(空格再加两个点)。    cd ../..  向上两级。
      cd /user/s0807  从绝对路径去到某目录。
      cd ~/s0807      直接进入主目录下的某目录(“cd ~"相当于主目录的路径的简写)。
ls    显示当前目录的所有目录和文件。
      用法  ls [-aAbcCdeEfFghHilLmnopqrRstux1@] [file...]
      ls /etc/   显示某目录下的所有文件和目录,如etc目录下的。
      ls -l      (list)列表显示文件(默认按文件名排序),
                 显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改日期、文件名。
      ls -t      (time)按修改时间排序,显示目录和文件。
      ls -lt     是“-l”和“-t”的组合,按时间顺序显示列表。
      ls -F      显示文件类型,目录“/ ”结尾;可执行文件“*”结尾;文本文件(none),没有结尾。
      ls -R      递归显示目录结构。即该目录下的文件和各个副目录下的文件都一一显示。
      ls -a      显示所有文件,包括隐藏文件。

    文件权限
        r    读权限。对普通文件来说,是读取该文件的权限;对目录来说,是获得该目录下的文件信息。
        w    写权限。对文件,是修改;对目录,是增删文件与子目录。
            (注 删除没有写权限的文件可以用 rm -f ,这是为了操作方便,是人性化的设计)。
        x    执行权限;对目录,是进入该目录
        -    表示没有权限
       形式 - rw- r-- r-- 
    其中 第一个是文件类型(-表普通文件,d表目录,l表软链接文件)
    第2~4个是属主,生成文件时登录的人,权限最高,用u表示
    第5~7个是属组,系统管理员分配的同组的一个或几个人,用g表示
    第8~10个是其他人,除属组外的人,用o表示
    所有人,包括属主、属组及其他人,用a表示

chmod  更改权限;
    用法    chmod [-fR] <绝对模式> 文件 ...
           chmod [-fR] <符号模式列表> 文件 ...
      其中    <符号模式列表> 是一个用逗号分隔的表     [ugoa]{+|-|=}[rwxXlstugo]
    chmod u+rw  给用户加权限。同理,u-rw也可以减权限。
    chmod u=rw  给用户赋权限。与加权限不一样,赋权限有覆盖的效果。
    主要形式有如下几种
    chmod u+rw       chmod u=rw
    chmod u+r, u+w   chmod u+rw,g+w, o+r
    chmod 777( 用数字的方式设置权限是最常用的)
    数字表示权限时,各数位分别表示属主、属组及其他人;
      其中,1是执行权(Execute),2是写权限(Write),4是读权限(Read),
      具体权限相当于三种权限的数相加,如7=1+2+4,即拥有读写和执行权。
    另外,临时文件/目录的权限为rwt,可写却不可删,关机后自动删除;建临时目录:chmod 777 目录名,再chmod +t 目录名。

id 显示用户有效的uid(用户字)和gid(组名)
    用法 id [-ap] [user]
    id 显示自己的。
    id root 显示root的。
    id -a root 显示用户所在组的所有组名(如root用户,是所有组的组员)
df 查看文件系统,查看数据区
    用法 df [-F FSType] [-abeghklntVvZ] [-o FSType 特定选项] [目录 | 块设备 | 资源]
    df -k   以kbytes显示文件大小的查看文件系统方式


六、显示文件内容
more  分屏显示文件的内容。
      用法   more [-cdflrsuw] [-行] [+行号] [+/模式] [文件名 ...]。
      显示7个信息:用户名 密码 用户id(uid) 组id(gid) 描述信息(一般为空) 用户主目录  login shell(登录shell)
cat   显示文件内容,不分屏(一般用在小文件,大文件显示不下);合并文件,仅在屏幕上合并,并不改变原文件。
      用法 cat [ -usvtebn ] [-|文件] ...
tail  实时监控文件,一般用在日志文件,可以只看其中的几行。
      用法 tail [+/-[n][lbc][f]] [文件]
          tail [+/-[n][l][r|f]] [文件]


七、文件/目录的增删
echo  显示一行内容。
touch 如果文件/目录不存在,则创建新文件/目录;如果文件存在,那么就是更新该文件的最后访问时间,
      用法 touch [-acm] [-r ref_file] 文件...
          touch [-acm] [MMDDhhmm[yy]] 文件...
          touch [-acm] [-t [[CC]YY]MMDDhhmm[.SS]] file...
mkdir 创建目录(必须有创建目录的权限)
      用法 mkdir [-m 模式] [-p] dirname ...
      mkdir dir1/dir2          在dir1下建dir2
      mkdir dir13 dir4 dir5    连建多个
      mkdir ~/games            用户主目录下建(默认在当前目录下创建)
      mkdir -p dir6/dir7/dir8  强制创建dir8;若没有前面的目录,会自动创建dir6和dir7。
                               不用-p时,若没有dir6/dir7,则创建失败。

cp   复制文件/目录
     cp  源文件   目标文件     复制文件;若已有文件则覆盖
     cp -r 源目录 目标目录     复制目录;若已有目录则把源目录复制到目标目录下,
                             没有目标目录时,相当于完全复制源目录,只是文件名不同。
     cp beans apple dir2    把beans、apple文件复制到dir2目录下
     cp -i beans apple      增加是否覆盖的提示

mv 移动或重命名文件/目录
    用法 mv [-f] [-i] f1 f2
        mv [-f] [-i] f1 ... fn d1
        mv [-f] [-i] d1 d2
    mv 源文件名 目标文件名   若目标文件名还没有,则是源文件重命名为目标文件;若目标文件已存在,则源文件覆盖目标文件。
    mv 源文件名 目标目录     移动文件
    mv 源目录 目标目录      若目标目录不存在,则源目录重命名;若目标目录已存在,则源目录移动到目标目录下。

rm  删除文件/目录
    用法 rm [-fiRr] 文件 ...
    rm 文件名     删除文件。
    rm -r 目录名  删除目录。
    rm –f 文件    只要是该文件或者目录的拥有者,无论是否有权限删除,都可以用这个命令参数强行删除。
    rm -rf *     删除所有文件及目录
rmdir 删除空目录。只可以删除空目录。

ln 创建硬链接或软链接,硬链接=同一文件的多个名字;软链接=快捷方式
    用法   ln [-f] [-n] [-s] f1 [f2]
          ln [-f] [-n] [-s] f1 ... fn d1
          ln [-f] [-n] -s d1 d2
    ln file1 file1.ln      创建硬链接。感觉是同一文件,删除一个,对另一个没有影响;须两个都删除才算删除。
    ln -s file1 file1.sln  创建软链接。可跨系统操作,冲破操作权限;也是快捷方式。


八、时间显示
date 显示时间,精确到秒
    用法   date [-u] mmddHHMM[[cc]yy][.SS]
    date [-u] [+format]
    date -a [-]sss[.fff]
cal 显示日历
    cal 9 2008  显示2008年9月的日历;    cal 显示当月的
    用法 cal [ [月] 年 ]

九、帮助
man 帮助( format and display the on-line manual pages)
    用法   man [-] [-adFlrt] [-M 路径] [-T 宏软件包] [-s 段] 名称 ...
          man [-] [-adFlrt] [-M path] [-T macro-package]  [-s section]  name...
    man [-M 路径] -k 关键字 ...
    man [-M 路径] -f 文件 ...


awk 按一定格式输出(pattern scanning and processing language)
    用法 awk [-Fc] [-f 源代码 | 'cmds'] [文件]


十、vi
    底行模式  /?  命令模式  i a o 输入模式
   
vi 的使用方法
1、光标    h 左    j 下        k 上    l 右
    set nu 显示行号(set nonu)  21  光标停在指定行
    21G             第N行  (G到文件尾,1G到文件头) 如果要将光标移动到文件第一行,那么就按 1G
    H               屏幕头
    M               屏幕中间
    L               屏幕底
    ^  或 shift+6   行首
    $  或 shift+4   行尾
    Ctrl+f          下翻
    Ctrl+b          上翻   

2、输入 (输入模式)
    o       光标往下换一行
    O       (大写字母o)在光标所在行上插入一空行
    i       在光标所在位置的前面插入字母
    a       在光标所在位置的后面插入一个新字母
    <Esc>   退出插入状态。

3、修改替换
    r        替换一个字符
    dd       删除行,剪切行    (5dd删除5行)
             5,10d  删除 5 至 10 行(包括第 5行和第 10 行)
    x        删除一个字符
    dw       删除词,剪切词。 ( 3dw删除 3 单词)
    cw       替换一个单词。 (cw 和 dw 的区别 cw 删除某一个单词后直接进入编辑模式,而dw删除词后仍处于命令模式)
    cc       替换一行
    C        替换从光标到行尾
    yy       复制行 (用法同下的 Y ,见下行)
    Y        将光标移动到要复制行位置,按yy。当你想粘贴的时候,请将光标移动到你想复制的位置的前一个位置,然后按 p
    yw       复制词
    p        当前行下粘贴
    1,2co3   复制行1,2在行3之后
    4,5m6    移动行4,5在行6之后
    u        当你的前一个命令操作是一个误操作的时候,那么可以按一下 u键,即可复原。只能撤销一次
    r file2  在光标所在处插入另一个文件

    ~        将字母变成大写
    J        可以将当前行与下一行连接起来
    /字符串   从上往下找匹配的字符串
    ?字符串   从下往上找匹配的字符串
    n        继续查找
    1,$s/旧串/新串/g   替换全文(或者  %s/旧串/新串/g)
                      (1表示从第一行开始)    没有g则只替换一次,加g替换所有

3、存盘和退出
     w            存盘
     w newfile    存成新文件
     wq           存盘再退出VI(或者ZZ或 X)
     q!           强行退出不存盘

查看用户
users      显示在线用户(仅显示用户名)。
who        显示在线用户,但比users更详细,包括用户名、终端号、登录时间、IP地址。
who am i  仅显示自己,(但包括用户名、端口、登录时间、IP地址;信息量=who)。
whoami    也仅显示自己,但只有用户名(仅显示自己的有效的用户名)。
w          显示比who更多内容,还包括闲置时间、占CPU、平均占用CPU、执行命令。
           用法 w [ -hlsuw ] [ 用户 ]

su         改变用户,需再输入密码。
           用法  su [-] [ username [ arg ... ] ]
su -      相当于退出再重新登录。

查找
find   查找文件
    用法 find  [-H | -L] 路径列表 谓词列表
    find / -name perl 从根目录开始查找名为perl的文件。
    find . -mtime 10 -print 从当前目录查找距离现在10天时修改的文件,显示在屏幕上。
           (注 “10”表示第10天的时候;如果是“+10”表示10天以外的范围;“-10”表示10天以内的范围。)

grep 文件中查找字符;有过滤功能,只列出想要的内容
    用法  grep -hblcnsviw 模式 文件 . . .
    如 grep abc /etc/passwd  在passwd文件下找abc字符
wc 统计
    -l 统计行数;  -w统计单词数;   -c 统计字符数
    如  grep wang /etc/passwd|wc -l    统计passwd文件含“wang”的行数
du 查看目录情况
    如   du -sk *    不加-s会显示子目录,-k按千字节排序
    用法 du [-a] [-d] [-h|-k] [-r] [-o|-s] [-H|-L] [文件...]

进程管理
ps 显示进程。
    用法 ps [ -aAdeflcjLPyZ ] [ -o 格式 ] [ -t 项列表 ]
    [ -u 用户列表 ] [ -U 用户列表 ] [ -G 组列表 ]
    [ -p 进程列表 ] [ -g 程序组列表 ] [ -s 标识符列表 ] [ -z 区域列表 ]
    ps 显示自己的进程。
    ps -e 显示每个进程,包括空闲进程。
    ps -f 显示详情。
    ps -ef 组合-e和-f,所有进程的详情。
    ps -U uidlist(用户列表) 具体查看某人的进程。

kill
pkill
sleep

jobs
    用法  jobs [-l ]
fg %n
bg %n
stop %n 挂起(仅csh能用)
Ctrl+C
Ctrl+Z

网络链接
ping
    usage  ping host [timeout]
    usage  ping -s [-l | U] [adLnRrv] [-A addr_family] [-c traffic_class] [-g gateway [-g gateway ...]] [-F flow_label] [-I interval] [-i interface] [-P tos] [-p port] [-t ttl] host [data_size] [npackets]

ifconfig -a
     /sbin/ifconfig    查看本机的IP地址

netstat -rn


rlogin

ftp
0
0
分享到:
评论
1 楼 dotjar 2011-12-26  
全文中没有一个词带动情绪,怎么能说是疯狂呢?

相关推荐

    这样学习Unix下C语言编程最有效.doc

    Unix 下 C 语言编程是一种相对稳定的开发平台下的开发语言,掌握了它,就可以轻松完成当前 Unix 服务器下疯狂增长的各式各样的功能需求。为什么选择 Unix 编程? Unix 操作系统具有安全、稳定和多用户等多方面的...

    unix5-ppt格式

    通过这些题目,我们可以学习到如何在不同语境中使用词汇,以及理解英语短语和固定搭配。这对于提升英语水平,尤其是在阅读、写作和口语交流方面都至关重要。不过,要注意这些知识点与UNIX操作系统无直接关联。如果...

    Unix Echo服务器和客户端(C语言)

    在实际应用中,这样的Echo服务器和客户端可以作为学习网络编程、理解TCP协议和套接字编程的实例。 总结来说,Unix Echo服务器和客户端是一个用C语言编写的TCP网络通信示例,展示了如何通过套接字接口进行数据交换,...

    compatio:疯狂的指南针

    在IT行业中,"compatio:疯狂的指南针"可能...例如,学习如何使用`cd`改变目录,`ls`列出文件,`grep`搜索文本,`ps`查看进程状态,以及`sed`和`awk`进行文本处理等,都将对理解和利用"compatio:疯狂的指南针"大有裨益。

    java多线程tcpsocketserver源码-Java-Book:Java学习资料整理

    疯狂Java讲义 Java 核心基础卷1/2 Java编程思想 Java 8实战 jls11 Effective Java --(编写代码过程中的一些最佳实践,注意事项。现在已经出第二版了,增加了lambada的内容) JAVA网络编程 第4版 --(BIO socket编程,...

    Apache2.2和Tomcat7集成负载均衡(软件和教程)

    理解Apache和Tomcat的集成原理,掌握负载均衡策略,以及不断学习新的技术和最佳实践,都是IT专业人员不断提升自身技能的重要途径。通过这样的集成和负载均衡,可以构建出高性能、高可用的企业级Web应用平台。

    疯狂的java讲义项目源码-lalr1:LALR(1)解析器生成的研究和示例代码

    疯狂的java讲义项目源码LALR(1) 解析器生成研究 LALR(1) 解析器生成的研究和示例代码 介绍 说我疯了,但我一直对 LALR(1) 解析器生成着迷,自从我购买了 Aho、Sethi 和 Ullman 的永恒经典“编译器:原理、技术和工具...

    C/C++资源之不完全导引

    - **疯狂代码**(http://www.crazycoder.cn/):提供了丰富的 C/C++ 学习资料。 - **Bjarne Stroustrup 官方网站**:了解 C++ 设计与演变的权威资源。 - **C++ 标准委员会官网**:获取最新标准文档和其他官方信息...

    MyStudyRecords:存放我学习过程中写的一些代码

    我的学习记录存放我学习过程中写的一些代码,适合我自己回顾知识的时候看(持续更新) 2018年上半年2019年年末2020年5月2020年7月2020年10月2020年11月2020年12月2021年1月 2018年上半年C语言课程在线测试:这是我...

    python入门教程一篇不错的Python入门教.pdf

    这篇教程“疯狂代码”提供了Python的基础知识,引导读者快速了解编程和Python的基本概念。Python解释器是运行Python代码的必要工具,可以在多种操作系统上安装,如Mac OS, Unix, 和 Windows。要学习Python,你还需要...

    如何写好C main函数的几个注意事项

    我知道,现在孩子们用 Python 和 JavaScript 编写他们的疯狂“应用程序”。但是不要这么快就否定 C 语言 —— 它能够提供很多东西,并且简洁。如果你需要速度,用 C 语言编写可能就是你的答案。如果你正在寻找稳定的...

    tapiOS:我的业余爱好

    它是单片内核(unix克隆),仅出于学习目的而开发。 编译中 只是不要。 Makefile具有跨编译器等的硬编码路径,所有用户空间内容必须分别编译,并且必须复制到内部具有ext2文件系统的文件中。 就是说,我认为没有人...

    F660光猫sendcmd命令

    通过对sendcmd命令的学习与实践,我们可以对F660光猫进行更加深入且个性化的配置,从而更好地满足个人或家庭的网络需求。然而,在享受这些高级功能带来的便利的同时,我们也需要注意保护个人信息安全,避免因不当...

    网络数据接收和发送截取包文工具

    **Tcpdump** 是一个命令行工具,常用于Unix和类Unix系统上,它能够实时抓取网络数据包并将其保存到文件中,或者直接在终端上显示。虽然没有Wireshark那样的图形界面,但它在简单快速的数据包捕获和分析方面非常强大...

    Redis 实例 教程

    在Unix-like系统中,通过`redis-server`启动。 ### 3. Redis客户端 本教程关注的是Java客户端,Jedis是常用的Redis Java客户端库。你需要在项目中添加Jedis的依赖,然后可以通过创建Jedis实例连接到Redis服务器。 ...

    C++的STL简介

    STL的使用者并不需要了解它的底层实现,试想一下,如果我们有一把能打开所有锁的钥匙,那将是多么令人疯狂啊。 使用STL可以使程序员不用重新开发组件,使用这些现成的组件,可以减少程序员的工作量和时间。STL现在...

    SecureCRT5.1.0

    作为一款强大的终端模拟器,它支持多种协议,包括SSH(Secure Shell)、Telnet、Rlogin等,让用户可以从Windows操作系统方便地连接到各种不同类型的远程主机,如Unix、Linux和VMS等。其强大的会话管理和自定义设置,...

    SysInfo.zip

    在Qt中,可以使用`QProcess`类来执行系统命令,如`df`命令(在Unix-like系统中)或`wmic`命令(在Windows中),从而获取磁盘空间信息。 对于“SysInfo”程序,它可能包含了以下步骤: 1. 初始化Qt应用和主窗口。 2....

    lzo-2.06.tar.gz/lzo-2.10.tar.gz

    这些文件是用tar.gz格式打包的,这是一种在Unix和类Unix系统中常见的归档和压缩方法。tar主要用于将多个文件或目录打包成一个单一的文件,而gz则代表gzip,用于对文件进行压缩,以节省存储空间。 描述中提到,这些...

    Hadoop实战

    554.3 计数 604.4 适应Hadoop API的改变 644.5 Hadoop的Streaming 674.5.1 通过Unix命令使用Streaming 684.5.2 通过脚本使用Streaming 694.5.3 用Streaming处理键/值对 724.5.4 通过Aggregate包使用Streaming 754.6 ...

Global site tag (gtag.js) - Google Analytics