码迷,mamicode.com
首页 > 系统相关 > 详细

Linux中常用的命令

时间:2016-06-12 03:29:08      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

1.VI 操作
vi(vim)linux下的一个标配的 "文本编辑器"

2.三种模式:
 
(1).命令模式
    vi <文件名>
    默认进入的模式就是命令模式,该模式可以进行一些命令的操作
    比如,选中,复制,删除,剪切,粘贴等操作

(2).编辑模式(插入模式) --可以进行文本的输入
    i键 进入插入模式
    a(append)(追加) 在光标后面进行插入
    o(open) (默认在下一行进行插入)

(3).底行模式:文本保存,替换,查找等操作
    必须是从"命令模式" 进入
     shift+:
     ESC 键 进入"命令模式"
-----------------------------

命令模式------i,a,o--------> 插入模式
  |      <-----ESC----------
  |
shift+:
  |  
  |
  V
底行模式

底行模式:
保存:
w  -- write(写入)
q  -- quit (退出)
wq -- 保存并退出
q!
wq!-- !表示强制退出

练习:
编译一个hello.c 的文件的 实现 输出hello world

熟悉 vi的三种模式之间的切换 保存退出

编译:
gcc world.c

运行:
./a.out
------------------------------
复制:
1.复制一行
   光标定位到要复制的一行
   yy(注意:是在命令模式操作)
  粘贴:p键
  数字+p键 可以实现多份复制的效果
  eg:
    3P  表示 将复制的内容粘贴三次
2.复制多行
  选中多行:
  shift+v (命令模式下操作)
  配合方向键(上下键)选中多行
  之后
  y键实现复制

  粘贴:
   p 进行粘贴
   数字+p键 可以实现多份复制的效果

3.复制一块
  ctrl+v 进行块选中(配合方向键进行选中)
  之后进行复制 y键
  后续 p键进行粘贴

练习:
将hello.c的 输出语句,复制 3份 进行编译,运行

删除:
1.删除一行(dd)
2.删除多行(选中多行 之后d键)
3.删除一块(选中一块 之后d键)

查找: 命令模式下
/要查找的字符串

eg:
/hello 回车

表示匹配 hello字符串

被查考的字符串会高亮显示

取消高亮显示:
底行模式:
nohls (no highlight)

撤销:

u 撤销 上一次的操作
ctrl +r 反撤销


定位操作:
(1).:行号
(2).行号G   //先输入行号 ,之后shift+g
(3).定位到 第一行  : gg
(4).定位到 最后一行: shift+g



打开终端的快捷键:

(1).打开一个终端
    ctrl+shift+n //默认是打开的终端的所在的路径是当前路径
    ctrl+alt+t   //默认是 主目录下
(2).在当前终端打开一个标签页
    ctrl+shift+t

退出一个终端:
(1).通过鼠标结束掉
(2).命令 exit



/---------------
[1].把tree的deb包 放到 Windows下的共享文件夹(D:\share)
linux执行该命令:
 sudo dpkg -i /mnt/hgfs/share/*.deb
[2].
    tree 目录名
    tree -L 1 /  


#目录与文件操作 pwd ls cd mkdir cp mv rm file
/*{{{*/
一.pwd 显示当前工作目录所在绝对路径(以/为起点表示的路径)
eg:pwd
#选项-P显示链接文件路径


linux下命令的基本的格式:

<命令> [选项] [参数]
--------------------
二.ls 显示目录下文件及目录
可以带参数,指定目录或文件
可不带参数,显示当前目录

eg:查看主目录下workdir目录的内容(~代表用户主目录)
ls ~/workdir  //表示查看"主目录下"的 workdir 目录下的内容
ls            //默认是查看当前路径下的内容

#A.选项 -a 显示所有文件,包括隐藏文件(以.开头的文件) (all)
eg:(带参数:指定目录或文件)查看主目录下workdir目录下所有文件
ls -a /home/tim/workdir

eg:(不带参数)查看当前目录下所有文件及目录
ls -a

#B.选项 -l(list) 显示文件或目录的属性信息,(仅解释文件大小,其它细节在文件系统部分解释)
eg:显示当前目录下文件及目录的属性信息
ls -l
eg:显示指定目录或文件的属性信息,注意可以带多个参数!
ls -l /home/tim examples.desktop

#C.选项 -h 以K,M,G为单位显示文件大小,与-l一起用。

注意:bash下通过alias命名了l,la,ll。效果请自行测试

注意:几个特别的目录 . .. / ~ -


三.cd 切换工作目录 关于文件系统的路径。绝对与相对

eg:不带选项和参数,返回当前用户的主目录.
cd回车

eg:切换到根目录下的home目录下
cd /home

eg:切换到上层目录
cd ..

eg:切换到前一个目录
cd -

eg:切换到上层目录的上层目录,从主目录切换到根目录.
cd ~
cd ../..

四.mkdir 新建空目录
eg:当前目录下创建目录dir
mkdir dir

eg:在/home/tim/workdir目录下创建目录dir
mkdir /home/tim/workdir/dir

#选项-p递归创建多层目录
eg:在~下创建dir1/dir2/dir3
mkdir ~/dir1/dir2/dir3 -p

五.cp 拷贝源文件或目录到目标文件或目录,可实现备份

注意:
 cp 拷贝普通文件
 拷贝目录文件时 需要加上 -a选项 (all)
eg:将共享目录下的文件拷贝到主目录下
cp /mnt/hgfs/share/jeffy-vim-v2.0.zip ~

eg:将主目录下的jeff-vim-v2.0.zip 备份为jeffy-vim-v2.0_bak.zip
cp jeff-vim-v2.0.zip jeffy-vim-v2.0_bak.zip

#选项-a拷贝整个目录内容
eg:将目录jeffy-vim-v2.0拷贝到Desktop目录下
cp jeffy-vim-v2.0 ~/Desktop -a

练习:
cp hello.c world.c
cp 123 456
cp 123 456 -a

注意:
要拷贝的"源文件" 必须保证存在

六.mv 移动源文件或目录到目标文件或目录,可实现重命名
eg:将主目录下的test.txt文件移动到共享目录下
vi test.txt
mv test.txt /mnt/hgfs/share

eg:将主目录下的Videos目录重命名为MyVideos
mv Videos MyVideo

七.rm 删除一个或多个文件或目录,物理删除,不可恢复。-rf
eg:删除在主目录下jeffy-vim-v2.0_bak.zip
rm jeffy-vim-v2.0_bak.zip

#选项-rf强制删除文件或目录
eg:删除主目录下的dir目录
rm -rf dir

八.file 查看文件类型
eg:查看主目录下test.c文件类型
file test.c

eg:查看主目录下shared文件类型
file shared

/*}}}*/

练习:
/*{{{*/
如果/mnt/hgfs/目录下没有可用目录,将共享目录换为~/Videos
1.将/etc/passwd文件拷贝到用户主目录

2.将用户主目录下的passwd文件备份为passwd-bak

3.在用户主目录下新建目录test_dir

4.将passwd-bak移动到test_dir目录下

5.将test_dir目录下的passwd-bak文件改名为passwd

6.将test_dir目录拷贝到你的共享目录下

7.将共享目录下的test_dir目录改名为dir

8.删除以上产生的文件
/*}}}*/


#编辑与查看文件内容 touch vi/vim cat more/less head/tail sort uniq diff
/*{{{*/

九.touch 可用于创建新文件
eg:在主目录下创建文件test_touch
touch test_touch

十.vi / vim 新建或编辑
使用小技巧:
vi file +行号 打开文件时光标直接定位到指定行
vi file1 file2 -d 比较两个文件的差异

十一.cat 在标准输出(显示器)显示文件内容
eg:显示主目录下的文件test.c
cat test.c

#选项-n 显示文件内容时显示行号
eg:显示主目录下的文件test.c同时显示行号
cat -n test.c

十二.more/less 分屏显示文件
cat 显示文件时一次性全在屏幕上显示出来了,查看前面内容不太方便,
more/less命令能解决这个问题
使用异同点
eg:分屏显示文件内容
more /etc/passwd
less /etc/passwd

相同操作方法
d键下翻页,b键上翻页
回车下翻行,空格下翻页

不同操作:less支持上下键,
          pagedown和pageup键上下翻行翻页
显示区别,more显示当前显示内容百分比。

退出按q键。

十三.head/tail 显示文件开头/结尾
如果只想查看文件开头或最后几行内容,可使用head/tail命令,默认显示10行
eg:查看/etc/passwd文件开头10内容
head /etc/passwd
eg:查看/etc/passwd文件结尾处10内容
tail /etc/passwd

#选项-num指定显示内容的行数
eg:查看/etc/passwd文件开头20行内容
head -20 /etc/passwd
tail 用法类似
head与tail常与管道结合使用
eg:
   cat hello.c | head -1 // "|" 表示管道线,  效果是将前一个命令的输出
                         //作为后一个命令的输入
                         //查看 hello.c 第一行内容


十四.sort 按"行排序"从"小到大"显示文件内容,
    注意排序结果不会影响原文件
显示结果与语系相关,为了以ASCII码值为结果使用LANG=C统一
可以通过echo $LANG查看
eg:排序查看文件内容
vi test.c
A
5
+
每行写入字符,数字,符号
sort test.c

#选项-r从大到小的顺序排序显示
eg:逆序排序查看文件内容
sort -r test.c

#选项-n对数字排序时以数值结果排序,而不是ASCII码值排序
eg:按数字数值排序
vi test.c
5
3
2
每行写入数字
sort test
sort -n test
显示区别

#选项-o指定排序结果输出到文件
eg:将test.c 排序结果写回test.c
sort test.c -o test.c

十五.uniq显示文件内容,去掉相邻重复的行
eg:显示时重复相邻行只显示一行。
uniq test

十六、diff按行比较两个文件的不同,将两具文件中不同内容显示出来
常用于程序新旧版本对比
eg:显示sort1.c与sort2.c不同处
diff sort1.c sort2.c
显示结果不直观,建议用vim sort1.c sort2.c -d代替,直观对比
显示结果中a表示追加,d表示删除,c表示更改,
<表示属于第一个文件,>表示属于第二个文件.

/*}}}*/

#查找与搜索 find grep
/*{{{*/
十七、find在当前目录下递归查找文件显示路径,即包括子目录
用法:
  find -name filename
或find -name ‘filename‘
或find -name "filename"
eg:在当前目录(主目录)下查找test.c文件
find -name test.c

用法:find 路径 -name filename
eg:在workdir目录下查找test.c文件
find ~/workdir -name test.c

十八、grep在文件中查找字符串
eg:在/etc/passwd 文件中查找"tim"
grep "tim" /etc/passwd

#选项-n显示字符串所在行号
eg:在/etc/passwd文件中查找"tim",并显示所在行号
grep "tim" /etc/passwd

eg:在当前目录下所有文件中搜索"main"(不包括子目录)
grep "main" *

eg:在当前目录下所有文件中搜索"main"(包括子目录)
grep "main" * -nR

#搜索字符串的匹配方式 ^ $
eg:查找所有含有tim的字符串
将/etc/passwd 拷贝到主录目下
cp /etc/passwd ~
grep "tim" passwd

eg:查找以tim开头的字符串
grep "^tim" passwd

eg:搜索以tim结尾的字符串
grep "tim$" passwd

eg:搜索出只含"tim"的字符串
grep "^tim$" passwd


常用:
grep 目录 "字符串" -nR    //递归查找 指定目录下的文件中的"字符串"
              
/*}}}*/


#打包目录与压缩文件,(结合ppt 3 66页) zip unzip gzip gunzip bzip2 bunzip2 tar
/*{{{*/

十九、zip对多个文件进行压缩,生成.zip后缀名压缩文件,unzip进行解压缩
!用法:
格式:
zip <压缩包名.zip> 文件1 文件2 ……
eg:将test.c test1.c test2.c 压缩到test.zip文件中
zip test.zip test.c test1.c test2.c

eg:将test.zip解压到当前目录下
unzip test.zip

二十、gzip对一个文件进行普通压缩,不能对目录压缩
eg:将test.c压缩成test.c.gz
gzip test.c

二十一、gunzip对gz格式压缩文件解压
eg:将test.c.gz解压
gunzip test.c.gz

二十二、bzip2对一个文件进行高比例压缩,不能对目录压缩
eg:将test.c文件压缩为test.c.bz2
bzip2 test.c

二十三、bunzip2 对bz2格式压缩文件进行解压
eg:将test.c.bz2解压
bunzip2 test.c.bz2

二十四、tar将多个文件或目录打包
#常用选项
-c 创建
-x 释放

-z 处理gzip压缩的tar包
-j 处理bzip2压缩的tar包

-v 显示详细信息
-f 指定打包或解包的文件,需放在选项最后

!用法
打包
eg:将jeffy-vim-v2.0打包生成jeffy-vim-v2.0.tar
tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0

解包
eg:将jeffy-vim-v2.0.tar解包
tar -xvf jeffy-vim-v2.0.tar

先打包,再使用gzip bzip2命令压缩
tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0
gzip jeffy-vim-v2.0.tar <= 生成jeffy-vim-v2.0.tar.gz
或bzip2 jeffy-vim-v2.0.tar <= 生成jeffy-vim-v2.0.tar.bz2

直接打包并压缩
以gzip压缩 -czvf,后缀.tar.gz 或.tgz
tar -czvf jeffy-vim-v2.0.tar.gz jeffy-vim-v2.0
tar -czvf jeffy-vim-v2.0.tgz jeffy-vim-v2.0

以bzip2压缩 -cjvf ,后缀.tar.bz2 或.tbz2
tar -cjvf jeffy-vim-v2.0.tar.bz2 jeffy-vim-v2.0
tar -cjvf jeffy-vim-v2.0.tbz2 jeffy-vim-v2.0

解压缩并解包 -xvf,对gzip与bzip2处理的文件均有效
tar -xvf jeffy-vim-v2.0.tar.bz2
tar -xvf jeffy-vim-v2.0.tbz2
tar -xvf jeffy-vim-v2.0.tgz

/*}}}*/

#其它命令 clear date echo which whereis man
/*{{{*/

二十五、clear 清屏
快捷键 ctrl + l

二十六、date 查看日期及时间
eg:date

二十七、echo显示一行文本,常用于显示环境变量值
eg:显示字符串hello world!
echo "hello        world!"
echo hello      world!
注意区别,加""原样输出,否则算多个字符串输出


二十八、which 查找命令所在路径
eg:查找ls 所在路径
which ls

二十九、whereis 查找命令所在路径,源,man手册文件所在位置
whereis ls

三十、man 查帮助手册
eg:查ASCII码表
man ascii

eg:查whereis 命令帮助页
man whereis

eg:查函数strcmp

/*}}}*/

#系统维护命令 sudo su passwd shutdown
/*{{{*/
三十一、sudo以超级用户身份执行一条命令
eg:查看系统下存放账号密码文件内容,需超级用户权限
$cat /etc/shadow
$cat: /etc/shadow:Permission denied

$sudo cat /etc/shadow
$[sudo]password for tim: <=输入tim用户的密码,注意密码不会回显!

三十二、su临时切换用户
eg:切换到root用户
su
Passwd: <=输入root用户密码!
exit可退出切换的用户

eg:切换到root用户,并切换到root主目录/root
su -
Passwd: <=输入root用户密码

注意如果第一次切换root用户可能会提示密码错误

三十三、修改密码passwd
eg:修改tim用户密码
sudo passwd tim <=加sudo 是可以设置短密码

eg:修改root密码
sudo passwd root

三十四、shutdown关机命令
eg:5分钟后关机
sudo shutdown +5

eg:立即关机
sudo shutdown -h now

eg:立即重启
sudo shutdown -r now
sudo reboot

/*}}}*/

#用户管理 adduser deluser
/*{{{*/
三十五、adduser添加用户,会要求输入新用户密码,全名,
并在/home目录下创建新用户主目录
eg:sudo adduser max <=输入当前用户密码

三十六、deluser删除用户
eg:删除用户max
sudo deluser max

#选项--remove-home,删除用户同时删除该用户主目录
eg:sudo deluser --remove-home max
/*}}}*/

剩下命令
du df mount umount ln "ls -l" chmod chown chgrp ps kill

Linux中常用的命令

标签:

原文地址:http://blog.csdn.net/yinbucheng/article/details/51597096

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!