linux命令

来源:互联网 发布:mysql latin1 编辑:程序博客网 时间:2024/04/28 15:14

计算机由 硬件和软件 组成,硬件 包括:中央处理器(CPU)、内存、硬盘、主板、显卡、电源、输入输出设备(鼠标、键盘、显示器)。
  内存和硬盘:
  CPU只能 直接操作 内存,不能直接操作硬盘。
  内存 无法 持久保存数据,关机后 内存中的东西会消失,硬盘 可以 持久的保存数据,硬盘 以 文件的形式保存数据。
  软件 由 系统软件(操作系统OS) 和 应用软件组成。操作系统包括 Windows系列系统、Unix系列系统、Linux系列系统、苹果Mac、其它。
  Windows系列 包括 win30 31 32 windows95 98 NT Me 2000 2003 XP vista windows7 8 。
  Unix系列 包括非常多,各大公司都有自己的Unix操作系统,Linux是Unix的免费版。

  操作系统分为 内核层和Shell层。内核层主要负责:硬件的管理 和 核心的进程管理、内存的管理。(核心代码和管理)
  Shell是 用户和内核之间的接口(桥梁)
  Unix系统中常用内核和Shell版本众多,主流Shell包括:
  sh/bash (bash是现在shell)
  csh/tcsh
  ksh  

 可以远程登录到192.168.0.26机器上测试shell
  启动终端敲:
  telnet 192.168.0.26
  输入用户名和密码
   openlab
   open123
  可以用sh/bash/csh 切换shell
  在csh中,普通用户 命令提示符: %
  在sh/bash,普通用户 命令提示符: $
  超级用户:root 命令提示符 #
 
  ctrl +d 退出命令。
  可以用 echo $SHELL 命令查看当前shell
  Uinx/Linux 区分大小写

  unix文件系统
   文件系统一般由 文件和目录(文件夹) 组成。
   所有文件、目录都挂在根目录下,根目录 就是/
   /opt  放应用程序
   /usr  用户通用文件
   /bin  Unix命令
   /sbin Unix命令
   /etc  系统配置文件
   /dev  设备管理
   /var  应用程序
   /home 用户登录目录
   ...

   用more命令查看一下 几个 配置文件,
    more /etc/passwd (用户信息)
    more /etc/shadow (密码管理信息,限root)
    more /etc/group  (用户组信息)

    空格翻页,回车换行,q 退出。

  Unix常见命令:
   文件和目录有不同描述方式(路径),有绝对路径和相对路径。
   绝对路径 从根目录出发的描述,以/开始
   相对路径 从当前目录出发的描述,不以/开始
   比如 用户登录目录可以描述成:
        /home/soft01 (绝对路径)
        ./ (相对路径,代表当前目录)
        home/sotf01 (当前在根目录下)
       
    特殊用法:
        .  代表当前目录
        .. 代表上一层目录 ../../ 上两层目录
        ~  代表用户的登录目录
        下一层目录名  代表下一层目录
   开发基本上使用相对路径,绝对路径无法移植代码。
   命令格式:
    命令 [-选项] [参数]
     选项和参数 是可以没有的,中间有空格隔开
    Unix/Linux命令区分大小写
   clear - 清屏幕
   pwd - 打印当前目录(工作目录)
   cd - 改变当前目录
    cd 不带参数 默认回到 登录目录
    cd /  切换到根目录
   
  ls - 列举某目录下的清单(所有子目录和子文件)
    ls 不带参数 默认查看当前目录的清单
     -a 显示所有子文件 子目录
     -l 显示 详细信息
     -al 显示 所有子文件、子目录的详细信息
  chmod可以修改文件、目录的权限
   chmod 权限(755/764/744) 文件名
  touch 文件名 可以新建一个文件 
  mkdir 目录名 可以新建一层目录
   -p 新建多层目录
  cp 拷贝目录、文件 (2个)
   -r 拷贝目录
  mv 剪切/改名 目录、文件 (1个)
  rm 删除文件、目录
   -r 删除目录(谨慎使用)
  rmdir 删除空目录 (使用较少)
    

在命令行模式下,输入 vi 文本文件名,不存在就新建,存在就打开,vi 有 增强版 vim 。
 vi有三种状态,进入 vi 界面以后,进入状态,支持一些功能键,但不能直接编辑文件。
 进入状态下按 i/a/o 其一可以切换到 编辑状态,编辑状态 可以编辑文件。编辑状态下按 Esc 回到进入状态。
 进入状态下 按 : (shift+;) 切换到 命令行状态,命令行状态下,在左下角 出现 : 。命令状态下可以执行命令,常见的就是 保存和退出。
  w 保存  q  退出   wq  保存后退出 
  ! 强制  w! 强制保存  q! 强制退出
  w 新文件名  另存为
命令行状态下,按 回车就退回到进入状态。

 保存退出后,可以用cat 命令查看文件内容。

 练习:
   使用vi编辑message.txt,输入 个人信息,包括:
    name: xxx
    age: xx
    school: xxx
    profession: xxx
  写好后保存退出,然后 用 cat 查看一下。

  vi的功能键:
   h j k l 左下上右
   i 在当前光标之前 插入
   a 在当前光标之后 追加
   o 在当前光标下一行 编写
   O 在当前光标上一行 编写
   r 修改当前光标上的字符
   cc 替换一行
   C  替换当前光标到本行结束
   x  删除当前光标所在的字符
   dd 删除一行 (剪切一行)
   3dd删除三行 (剪切三行)
   yy 拷贝1行
   nyy拷贝n行
   p  粘贴到当前光标下一行
   ~  切换字母的大小写
   u  撤销上一步操作 (vi不保证支持多步撤销)
   1G 定位到第一行
   nG 定位到第n行
   G  定位到最后一行
   /字符串  从当前光标开始查找字符串(从前向后)
   ?字符串  从当前光标开始查找字符串(从后向前)
    如有多个,可以用n继续查找
   ZZ 保存退出

在命令行状态下输入 set nu 显示行号
   set nonu 取消行号的显示

练习:
   使用vi进行c语言程序/java程序的开发。
   1 建立一个myapp目录,在myapp目录下建立:
    src  bak   classes 三个子文件夹
   2 进入src,进行 开发。
   3 vi hello.c , 输入内容如下:
   #include <stdio.h>
   int main()
   {
        printf("hello c!\n");
        return 0;
   }  
   保存退出后,用gcc hello.c进行编译连接,用
  ./a.out 运行程序
   4 vi HelloWorld.java,输入内容如下:
   public class HelloWorld{
       public static void main(String[] args){
           System.out.println("Hello java!");
       }
   }
   保存退出后,用 javac HelloWorld.java 进行编译,编译通过可以用ls 看到 HelloWorld.class

 ln 命令可以建立链接文件,分 软链接和硬链接。
  ln 源文件 链接文件
  默认情况是硬链接,加-s选项是软链接。
  硬链接 相当于给文件 起了一个新名字,原来名字也可以用,就是一个文件区域,两个文件名。
  软链接 相当于给文件建立了一个快捷方式,此快捷方式指向源文件名,如果源文件名 的指向发生了改变,软链接 也会 随之改变。软链接文件 类型是以 l 开头。
  more 命令可以分页 查看文本文件的内容
  head -n 文件名 显示文件头n行
  tail -n 文件名 显示文件最后n行
  find 用来查找文件、目录,格式如下:
  find 要查找的目录 选项 参数
  选项很多,具体 参考 文档或者linux命令手册。
   如果卡住了,用 ctrl+d / ctrl +c 退出
    -name 按文件名 查找
   find . -name "*a*"  在当前目录下 查找名字中含a的
    -size 按文件大小 查找
   find . -size 55c
    此外可以用 +55c 代表大于 55字节的,-55c 代表小于55字节
 
  grep 可以从文本文件中 查找某字符串
   grep 字符串 文件名  
  ps  查看进程
   ps -ef / -aux(只有Linux使用)
   可以用管道 (|) more 进行分页显示
    ps -ef | more
  kill 杀进程
   kill -9 进程号
  su 可以切换用户
   su 用户名 切换用户,切换时需要输入密码
   但: root 切换其他用户 不需要输入 密码
  whoami 可以查看当前用户
  who am i
  passwd 修改当前用户的密码
    有些Unix对修改密码 限定很多。
  man 命令  查看命令的帮助

  输入输出重定向
   输入重定向 < 
   输出重定向 > (替换模式)
   cal 2 2000  > cal.txt  效果就是把输出到屏幕的内容转到cal.txt 文件中。
   >> 追加模式的 输出重定向
  
  管道|
   管道可以把两个unix命令连接起来,把第一个命令的输出做第二个命令的输入。
   ls -al | more
   cat xx.txt | more
 
 修改配置文件,如果需要马上生效,source 文件名 可以实现。
   vi ~/.bash_profile
   source ~/.bash_profile

 

 

  

原创粉丝点击