Mac终端登录,配合《命令手册》使用

ssh root@ip

Linux常用指令

ls   显示文件或目录


     -l   列出长数据串,包含文件的属性与权限数据等  
     -a   列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
     -d   仅列出目录本身,而不是列出目录的文件数据  
     -h   将文件容量以较易读的方式(GB,kB等)列出来  
     -R   连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

mkdir 创建目录


     -p          创建目录,若无父目录,则创建p(parent)

cd 切换目录

  cd /root/Docements   切换到目录/root/Docements  
  cd ./path            切换到当前目录下的path目录中,“.”表示当前目录   
  cd ../path           切换到上层目录中的path目录中,“..”表示上一层目录 

touch 创建空文件

echo 创建带有内容的文件。

cat 查看文件内容

cp 拷贝

    -a :将文件的特性一起复制  
    -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份  
    -i :若目标文件已经存在时,在覆盖时会先询问操作的进行  
    -r :递归持续复制,用于目录的复制行为  
    -u :目标文件与源文件有差异时才会复制  

mv 移动或重命名

    -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖  
    -i :若目标文件已经存在,就会询问是否覆盖  
    -u :若目标文件已经存在,且比目标文件新,才会更新  
    mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中  
    mv file1 file2 # 把文件file1重命名为file2  

rm 删除文件


    -f :就是force的意思,忽略不存在的文件,不会出现警告消息  
    -i :互动模式,在删除前会询问用户是否操作  
    -r :递归删除,最常用于目录删除,它是一个非常危险的参数
    rm -i file # 删除文件file,在删除之前会询问是否进行该操作  
    rm -fr dir # 强制删除目录dir中的所有文件

find 在文件系统中搜索某文件

      find [PATH] [option] [action]  
      # 与时间有关的参数:  
      -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;  
      -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;  
      -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;  
      -newer file : 列出比file还要新的文件名  
      # 例如:  
      find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件  
  
      # 与用户或用户组名有关的参数:  
      -user name : 列出文件所有者为name的文件  
      -group name : 列出文件所属用户组为name的文件  
      -uid n : 列出文件所有者为用户ID为n的文件  
      -gid n : 列出文件所属用户组为用户组ID为n的文件  
      # 例如:  
      find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件  
  
      # 与文件权限及名称有关的参数:  
      -name filename :找出文件名为filename的文件  
      -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件  
      -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);  
      -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;  
      -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示  
      -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示  
      # 例如:  
      find / -name passwd # 查找文件名为passwd的文件  
      find . -perm 0755 # 查找当前目录中文件权限的0755的文件  
      find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte 

wc 统计文本中行数、字数、字符数

grep 在文本文件中查找某个字符串

    grep [-acinv] [--color=auto] '查找字符串' filename

    -a :将binary文件以text文件的方式查找数据
    -c :计算找到‘查找字符串’的次数  
    -i :忽略大小写的区别,即把大小写视为相同  
    -v :反向选择,即显示出没有‘查找字符串’内容的那一行   

        取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色  
        grep --color=auto 'MANPATH' /etc/man.config  
        把ls -l的输出中包含字母file(不区分大小写)的内容输出  
        ls -l | grep -i file    

rmdir 删除空目录

tree 树形结构显示目录,需要安装tree包

pwd 显示当前目录

ln 创建链接文件

more、less 分页显示文本文件内容

head、tail 显示文件头、尾内容

ctrl+alt+F1 命令行全屏模式

系统管理命令

stat 显示指定文件的详细信息,比ls更详细

who 显示在线登陆用户

whoami 显示当前操作用户

hostname 显示主机名

uname 显示系统信息

top 动态显示当前耗费资源最多进程信息

ps 显示瞬间进程状态 ps -aux

du 查看目录大小 du -h /home带有单位显示目录信息

df 查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig 查看网络情况

ping 测试网络连通

netstat 显示网络状态信息

man 命令不会用了,找男人 如:man ls

clear 清屏

alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

打包压缩相关命令

gzip:

bzip2:

tar: 打包压缩


     -c              归档文件

     -x              压缩文件

     -z              gzip压缩文件

     -j              bzip2压缩文件

     -v              显示压缩或解压缩过程 v(view)

     -f              使用档名

例:

tar -cvf /home/abc.tar /home/abc            只打包,不压缩

tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

tar -jcvf /home/abc.tar.bz2 /home/abc       打包,并用bzip2压缩

当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

关机/重启机器

shutdown


     -r             关机重启

     -h             关机不重启

     now            立刻关机

halt 关机

reboot 重启

Linux管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例:grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

Linux软件包管理

dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件

sudo dpkg -r tree 卸载软件

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

依然以tree为例

sudo apt-get install tree 安装tree

sudo apt-get remove tree 卸载tree

sudo apt-get update 更新软件

sudo apt-get upgrade 将.rpm文件转为.deb文件

.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

sudo alien abc.rpm

vim使用

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:


    :q                退出

    :q!               强制退出

    :wq               保存并退出

    :set number       显示行号

    :set nonumber     隐藏行号

    /apache           在文档中查找apache 按n跳到下一个,shift+n上一个

    yyp               复制光标所在行,并粘贴

    h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

用户及用户组管理

/etc/passwd 存储用户账号

/etc/group 存储组账号

/etc/shadow 存储用户账号的密码

/etc/gshadow 存储用户组账号的密码

useradd 用户名

userdel 用户名

adduser 用户名

groupadd 组名

groupdel 组名

passwd root 给root设置密码

su root

su - root


    /etc/profile     系统环境变量

    bash_profile     用户环境变量

    .bashrc          用户环境变量

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组


    sudo chown [-R] owner[:group] {File|Directory}

    例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

    要想切换此文件所属的用户及组。可以使用命令。

    sudo chown root:root jdk-7u21-linux-i586.tar.gz

文件权限管理

三种基本权限


R           读         数值表示为4

W           写         数值表示为2

X           可执行      数值表示为1



    如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r--

    -rw-rw-r--一共十个字符,分成四段。

    第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

    第二三四个字符“rw-”表示当前所属用户的权限。    所以用数值表示为4+2=6

    第五六七个字符“rw-”表示当前所属组的权限。      所以用数值表示为4+2=6

    第八九十个字符“r--”表示其他用户权限。         所以用数值表示为2

    所以操作此文件的权限用数值表示为662 

更改权限

sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名


    例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

    sudo chmod u+x g+w o+r  filename

    上面的例子可以用数值表示

    sudo chmod 765 filename