4

命令

  • ctrl+shift+加号:放大终端

  • ctrl+减号:缩小终端

  • ls:显示当前路径的文件、文件夹

Linux目录结构

常见命令

常用指令

ls     显示文件或目录
   -l  列出文件详细信息l(list)
   -a  列出当前目录下所有文件及目录,包括隐藏的a(all)
   -h  文件显示带单位的大小

ls -alh
查看某一部分文件,查看以2开头的文件:

ls 2*
mkdir  创建目录
   -p  创建目录,若无父目录,则创建p(parent)   
cd     切换目录
touch  创建空文件
echo   创建带有内容的文件。
cat    查看文件内容
cp     拷贝
mv     移动或重命名
rm     删除文件
   -r  递归删除,可删除子目录及文件
   -f  强制删除
find   在文件系统中搜索某文件
    find / -name "*name":从跟目录下查找,以name结束的文件名
wc     统计文本中行数、字数、字符数
grep   在文本文件中查找某个字符串
rmdir  删除空目录
tree   树形结构显示目录,需要安装tree包
pwd    显示当前目录
ln     创建链接文件
more、less   分页显示文本文件内容
head、tail   显示文件头、尾内容
ctrl+alt+F1  命令行全屏模式

重定向

如:

ls > xxx.txt 把原本显示在终端的信息存储在xxx.txt文本中
ls >> xxx.txt 在原来的位置追加信息

more 文件:分屏查看文件:然后F(上一页)、B(下一页)

管道


ls -alh /bin | more

相对路径与绝对路径

  • 相对路径:从当前路径开始

  • 绝对路径:从跟目录开始

    cd ~ 回到家目录

链接

系统管理命令

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” 就可以了。

系统管理相关的命令

  • cal 查看当前日历

  • cal -y 2008 查看2008年所有的日历

  • date 查看当前的时间

  • ps -aux 查看进程的信息

  • htop 查看进程

  • kill -9 进程号 杀死某个进程

关机/重启机器

shutdown
    -r      关机重启
    -h      关机不重启
    now     立刻关机
halt        关机
reboot      重启
df -h 查看磁盘大小
du -h 查看当前的文件夹的大小

创建用户、组

  • useradd 用户名 -m 创建一个用户并创建这个用户的家目录

  • passwd 用户名 设置某个用户的密码

  • sudo -s 切换到root目录

  • su 用户名 切换到另一个账户

  • su - 用户名 切换到另一个账户并切换到其家目录

  • cd ~ 切换到该用户的家目录

  • usermod -a -G 组名 用户名 把某个用户加入到某个组中

  • usermod -a -G adm 用户名

  • usermod -a -G sudo 用户名 获取到管理的权限

修改文件的权限

  • 文件拥有者 所属组 其他人

  • w(2) r(4) x(1)

  • chmod 541 1.py

  • chmod 7 1.py

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(右移一个字符→)

从命令模式到插入模式:i(行前插入),I(行首插入),a(行后插入),A(行末插入),o(下一行),O(上一行)
剪切(删除)光标所在的行:dd
剪切(删除)多行:2dd  删除从光标所在行开始的2行
D:从当前行的光标开始剪切到行末
d0:从当前行的光标开始剪切到行首
x:删除当前的光标,每次只删除一个(往后删除)
X:删除当前的光标,每次只删除一个(往前删除)
拷贝光标所在的行:yy
拷贝多行:4yy 拷贝从光标所在行开始的4行
粘贴行:p

控制光标的行走方向:l(往右走)k(往上走)j(往下走)h(往左走)
M:当前屏幕中间 L:当前屏幕的最下边 H:当前屏幕的上边

翻页:ctrl+f下一页   ctrl+b上一页  ctr+u 向上翻半页

快速到某一行:20G 快速到第20行
G:快速回到整个文件的最后一行
gg:快速回到整个文件的第一行
w:跳到下一个单词的开始处
b:跳到上一个单词的开始处    

u:撤销刚刚的操作
ctrl+r:反撤销

选中一片代码

v:
V:
>>整体又移动
<<整体左移动
.重复上一次的动作

http://blog.csdn.net/jjustude...

替换:在莫行模式(:)输入 %s/被替换的内容/替换成的内容/g

用vim打造自己的编辑器

用户及用户组管理

    /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

工作中用到的一些有意思的命令:

linux nc
tree

Ubuntu安装软件的方式


前端扫地僧
2.5k 声望1.2k 粉丝

慢慢理解世界、慢慢更新自己