Linux中的常用命令

终端:

打开多个终端标签

ctrl+shift+t

打开多个终端

ctrl+shift+n

切换多个终端:

alt+数字
ctrl+pageup,pagedown

历史命令:

1) 用上下键来查找;
2) 可以输入history命令,此时会显示出最近的历史命令,可选项有-n 表示显示多少最近的历史命令,显示出来后可以输入“!命令编号”来执行此命令,!!表示执行最近的命令;
3) 敲“ctrl-r”组合键,然后输入字符,此时会显示出与你输入字符最接近的最近命令,回车后就可以执行;
4) fc命令可以查阅历史命令,同时可以调用编辑器来修改此命令然后执行。-l 表示列出历史命令,列出来之后可以fc (+)命令编号编辑此命令,也可以fc - 数字表示与最后一条命令的偏差,比如-1表示最后一条,-2表示倒数第二条。

ubuntu下的窗口操作:

ctrl+alt+上下左右键:切换到不同工作区;
ctrl+shift+alt+上下左右键:将当前窗口移到不同工作区;
ctrl+win+↑:最大化当前窗口;
ctrl+win+↓:最小化当前窗口;
ctrl+win+←:当前窗口移动到当前工作区的左边,并放大到一半的宽度;
ctrl+win+→:当前窗口移动到当前工作区的右边,并放大到一半的宽度;
alt+tab:在当前工作区中切换程序窗口;
alt+`:在当前窗口切换同一类程序的多个窗口;
win:弹出命令输入窗口;
alt+f2:弹出另一个命令输入窗口;

vi

介绍

vi和vim是我们在Linux中最常用的编辑器。vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单 操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。
vi中有三种模式:编辑模式,就是处于输入字符的状态光标在编辑区。进入编辑模式的方法是键入“i”或“a”表示insert或append;
命令模式,就是处于命令输入状态,光标在底下的命令窗口中,如果在编辑模式,进入命令模式的方法是按esc键然后输入“:”;普通模式就是不属于编辑模式和命令模式的状态。

[ctrl]+[f] : 向前翻页(foreward),和 [Page Down] 的用法一样。 
[ctrl]+[b] : 向后翻页(backward),和 [Page Up] 的用法一样。

在普通模式中的光标移动:

        k
      h    l
        j
h向左移动,l向右移动,k向上移动,j向下移动
w  向后跳转word,光标在word的首位置.
b  向前跳转word,光标在word的首位置.
e  向后跳转word,光标在word的尾位置.
ge 向前跳转word,光标在word的尾位置.

0: 移动光标的当前行的第一个字母处.
$: 移动光标到当前行的最后一个字母处。 
G: 移动光标到文档的最后一行。 
gg: 移动光标到文档的第一行,和1G的功能一样。 
n<enter>: n是个整数,向下移动光标n行。 

基本操作

/word: 从光标处向下搜索下一个字符串”word”。

?word: 从光标处向上搜索前一个字符串”word”。
:n1,n2s/word1/word2/g: n1,n2是整数,用“word2”替换n1-n2行之间的字符串“word1”.

:0,$s/word1/word2/g: 用”word2″替换文档中所有的字符串”word1″.
x,X : 在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[backspace]即退格键).

dd : 删除光标所在的一整行。
ndd : n为数字。从光标位置开始,删除向下的n行。
yy : 复制光标所在的那一行。
nyy : n为数字。复制光标所在的向下n行。
p,P : p为将已复制的数字粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会贴在 原来的20行之后,即由21开始贴。但如果按下P,那么原来的20行会变成30行。
u : 复原前一个操作.
[ctrl]+r : 重做上一个操作.
. : 这是小数点。意思是重复前一个动作。如果重复删除、重复粘贴,按下小数点“.”就可以。
i,I : 插入:当前光标所在处插入输入文字,已存在的文字会向后退,其中i为“从当前光标所在处插入”,I为“在当前所在行的第一非空格符处开始插入”。
a,A : a为“从当前光标所在的下一处开始插入”,A为“从光标所在行的最后一个字符处开始插入”。
o,O : 英文字母o的大小写。o为“在当前光标所在的下一行插入新的一行”;O为“在当前光标所在处的上一行插入新的一行”。
r,R : 替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下Esc键为止。
Esc : 退出编辑模式,回到一般模式中。
:w : 将编辑的数据写入硬盘文件中。
:w! : 强行写入。
:q : 离开vi。
:q! : 若曾修改过文件,又不想存储,使用!为强制离开而不存储文件。
:wq : 存储文件后离开,:wq! 强制存储文件并离开。
以上30条是vi/vim最常用的命令,随着对vi/vim的了解,你会知道的更多。

块选择功能,

以下为我机器的hosts文件,如果只想复制IP地址的话就能到块选择功能了。

76.13.18.78       farm3.static.flickr.com
76.13.18.79       farm5.static.flickr.com
128.242.240.29    twitter.com
128.242.240.29    www.twitter.com
209.85.225.101    docs.google.com
74.125.127.100    writely.google.com 

在普通模式下的块选择按键的意义:
v:字符选择,会将光标经过的地方反白选择
V:行选择,会将光标经过的行反白选择
[ctrl]+v:块选择,可以用长方形的方式来选择数据
y:块复制
d:块删除
列插入:如果想在文档中所有行前面插入某些字符可以这样操作:
首先用ctrl-v进入块模式,然后选择想要插入字符的区域,然后使用“shift+i”,此时光标会
跳到块中的第一行,然后输入你想要插入的字符,最后按“esc”退出,此时vi就会在所选择
的区域中每行加入你想要的字符。

组合命令比如ggVGy,意思就是先到第一行,然后进入块模式,然后到最后一行,最后复制。可以把以上命令作为一个映射map ggVGy 放到用户的.vimrc文件中,这样在vi中就可以使用ctrl-a组合键来复制整个文件了。

历史命令窗口:

1)方法1:输入q:显示历史命令窗口
    q:(注意不是在commond窗口中输入q,而是在普通模式中直接输入q:)
    会显示一个命令窗口,显示所有历史命令,用上下键移到相应命令上回车就可执行.
2)方法2:在命令窗口中输入你记得的命令开头几个字符,然后用上下键去查找想要的命令;
3)方法3:在命令窗口中输入“:”,然后用上下键或者ctrl-p(前一个命令),ctrl-n(后一个命令);

暂时退出vi:

crtl+z
返回:fg

阅读源文件在文件中跳转:

在需要查看的文件目录下输入:cscope -bR . 命令,会在当前目录下生成cscope.out文件。
在vim配置文件中添加
cs add cscope.out
set cscopetag语句
在文件中跳转的方法:
在命令窗口中输入:
cs f s abc 查找所有出现abc的地方,此时会出现一个窗口列出所有包括abc的行,输入行号就可以跳转了。
cs f g abc 查找abc定义的地方;
cs f c abc 查找调用abc的地方;
cs f t abc 查找所有包括abc的地方;
此外在普通模式下可以将光标移到某个函数上然后键入“ctrl-]”跳转到该函数定义的地方,然后键入“ctrl+t”返回。

多文件操作:

方法1:启动vi时打开多文件:
命令:vi file1 file2 … 在启动时打开多个文件
这时打开的文件在一个窗口中,可以用:bn,:bp切换文件,或者使用:n,:prev来切换,但是使用:n有可能到最后一个文件就不能再切换,而用:bn则可以循环切换.
方法2:打开文件后在命令窗口中打开:
命令:open file ,这里输入文件路径,这时就会新开一个文件编辑窗口,显示文件内容.但是有一个问题,就是如果不记得文件路径,用tab键无法补齐,这时可以用:file filepath来指定文件路径(这时可以用tab来补齐路径),
然后用open来打开.但是,这样也有一个问题,就是当前编辑的文件会被这个新打开的文件代替.
使用:new 可以开一个分割新窗口,在这个窗口里输入:q可以退出这个新窗口而不是退出vi.
使用:spl(split)或vspl(vsplit) 可以以当前文件打开一个新分割窗口,输入:q可以退出这个新窗口而不是退出vi.
当使用分割窗口时,使用ctrl-ww可以在多个分割窗口中切换.
当打开多个文件时,可以用ls来显示当前打开的文件名,其中数字后有%a标号的表示当前正在编辑的文件.可以用:bno直接切换文件,no就是ls列出来的文件序号.

chmod

基本操作:
文件权限解释:
linux中所有文件(包括目录,设备)都具有权限属性。我们执行ls -l 命令可以看到如下结果:
drwxr-xr-x 2 hanhj hanhj 4096 11月 30 09:25 Desktop
-rw-rw-r– 1 hanhj hanhj 4 11月 9 09:15 dic.txt
lrwxrwxrwx 1 hanhj hanhj 56 11月 30 09:23 si -> /media/big/wine/Program Files/SourceInsight/Insight3.exe
。。。
第一列就是代表文件的权限
比如对于第一个文件Desktop 它的权限是 drwxr-xr-x
第一个字母代表文件类型 如果是‘-’代表是普通文件,‘d’代表是目录,‘c’代表是字符型设备(比如串口),‘b’代表是块设备(比如硬盘),‘l’代表符号链接。
后面每三个为一组,表示不同分类用户的权限
第一组表示文件所属用户的权限,rwx分别代表读、写、执行权限,如果相应位为‘-’代表没有相应的权限。
第二组代表文件所属用户组的权限。
第三组代表处以上外的用户所具有的权限。
以上权限也可以用数字表示。用数字标识法,每个文件权限用四个8进制数表示,每个数由4,2,1相加而成,如果对应位省略掉,则设置为0.
第一个数代表 suid,sgid权限 。1-代表粘滞位,2代表sgid权限,4代表suid权限。
第二个数字代表用户权限 1-代表执行权限,2代表写权限,4代表读权限。
第三个数字代表用户组权限,数字含义同上。
第四个数字代表其他用户权限,数字含义同上。
比如777代表所有用户均具有读写执行权限,755代表用户具有读写执行权限,而用户组和其他用户具有读和执行权限。

了解了以上知识我们就可以对文件的权限进行改变。
比如对上面的dict。txt文件执行下面的命令:chmod 754 dic.txt 然后ls -l 显示如下:

drwxr-xr-x 2 hanhj hanhj  4096 11月 30 09:25 Desktop
-rwxr-xr-- 1 hanhj hanhj     4 11月  9 09:15 dic.txt

可见dic。txt文件用户权限加上了执行权限,用户组权限去掉了写权限,加上了执行权限。
除了用数字改变权限外,还可以用字母改变权限
u代表用户,g代表用户组,o代表其他用户,a代表全部。
+代表加上权限,-代表去掉权限。
r代表读权限,w代表写权限,x代表执行权限,X代表当目标文件对用户来说是可执行文件或者是目录时才设置X权限,s代表设置set-uid和set-gid权限。s只有和u和g一起使用。
例如同样以上的命令可以用以下方法实现:chmod u+x g-w+x dic.txt

umask

该命令用于设置权限掩码。当创建新文件时,新文件的权限就是777-掩码,比如umask=0002 ,则创建新文件夹的权限为777-0002=775,普通
文件的权限是666-0002=664(执行权限不用umask来设置,因为此设置会影响系统安全)。

在ubuntn下挂载windows的fat32分区

第一步:修改/etc/fstab

        sudo vi /etc/fstab

相关内容如下:
/dev/sda7 /media/big vfat defaults,utf8,umask=022,nosuid,nodev,uid=1000,gid=1000 0 0

/dev/sda7 需要挂载的硬盘设备名
/media/big 挂载的路径,就是文件存放的地方
vfat 文件系统名
以下是配置选项
defaults, 默认配置 属性包括rw, suid, dev, exec, auto, nouser, and async.其他好理解,suid代表允许具有set-uid和set-gid权限,具体uid,gid的用法参见后面的文件权限解释。
dev 代表解释字符和块设备。
auto 代表系统起来时是否自动挂载此文件系统。nouser 表示不允许一般用户(如非root用户)挂载此文件系统。async 代表异步操作
utf8, 代表语言编码类型
umask=022, 代表所设置的文件系统中文件权限设置(具体参见后面的文件权限解释),这里的设置代表用户权限为可读写可执行,用户所在组成员为可读,可执行,其他用户为可读,可执行。
nosuid, 代表不具有set-uid set-gid权限
nodev, 代表不解释字符和块设备
uid=1000, 用户id,代表挂载此文件系统后的文件所属的用户。如果不知道uid是多少,可以查看/etc/passwd文件
gid=1000 组用户id,代表挂载此文件系统后的文件所属的用户组。同样的,如果不知道gid是多少,可以查看/etc/passwd文件
0 0 最后两个参数是,第一个被dump命令所用,代表是否需要dump。第二个参数被fsck所用,表示系统起来时fsck的顺序。

第二步:建目录

修改好以上参数后,还需要在我们需要挂载文件系统的地方建个目录
(sudo)mkdir /media/big 是否需要sudo看你建目录的地方,如果属于root用户的地方就要加sudo。如果是建在root用户的地方(我的机子就是建在/media目录下,它属于root用户),还需要用chown命令
将其改成你想要挂载的用户和组。chown 用户组:用户名 挂载的目录 。例如sudo chown user1:user1 /media/big

第三步:挂载

        执行(sudo) mount -a 就可以将windows fat分区按照我们想要的路径和用户名和组挂载上了。

find

find 路径 -name 查询文件

grep

grep -n -r 查询内容 路径

| 管道

 set | grep ...

ps

显示当前进程,-e显示全部进程,-all显示详细内容      

set

查看本地定义的环境变量

unset

取消环境变量

env

显示所有环境变量

export 增加一个环境变量

export增加的环境变量是临时的,关机后就没有了.
在/etc/profile下面定义永久的环境变量.

chkconfig 配置服务

首先在/etc/init.d/目录下编辑此文件,文件名就是服务名,例如server

case "$1" in
    start)
       cd /home/hanhj/tmp/language/py
       /home/hanhj/tmp/language/py/server2.py &
     ;;
   stop)
       killall server2.py
       ;;
   status)
      status server2.py
      ;;
   restart)
      $0 stop
      $0 start
      ;;
    *)
      echo "Usage:$0 {start|stop|status|restart}"
      exit 1
esac
    exit 0

注意:要将此文件加上可执行属性:sudo chmod +x server
然后,运行chkconfig -a server;将此命令加入到服务中.(如果没有安装chkconfig命令,可以执行:sudo apt-get install chkconfig)
此时用chkconfig -l ,可以看见server服务在列表中,但是全是off状态,
可以用chkconfig server on,将服务打开
server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
0,1,…表示启动时的级别;
此时,重启系统后,server服务将自动启动,
如果想手动启停服务,可以
service server start|stop
或者:
/etc/init.d/server start|stop

uname:

显示系统版本-r显示核心版本,-a显示全部;

touch:

改变文档时间;

history:

显示输入过的命令
在~/.bashrc文件中可以有以下配置项
HISTCONTROL=ignoredups,忽略连续的重复输入
HISTCONTROL=erasedups,忽略所有命令中重复的输入
HISTTIMEFORMAT='%F %T|',配置命令前的时间
命令:
history 数字,显示最近n条的输入命令
!n,执行数字指示的命令,注意是直接在控制台中输入
!char,执行最近的与char匹配的命令,比如最近执行了dir命令,则!dir就执行dir命令
history -c,清除历史记录

mount:

mount -t 文件类型 挂载设备 挂载点
例如:mount -t ntfs /dev/sda1 /media/windows
一般scsi设备是sdxx,ide设备是hdxx,软盘设备是fdxx
可以用命令行点方式来挂载设备,也可以用fstab来挂载。
fstab文件位于/etc/fstab,
每一行代表一个设备,例如:
/dev/sda1 /media/windows ntfs,defaults,utf8,umask=022,nosuid,nodev,uid=1000,gid=1000 0 0
前面3个表示基本信息:挂载设备,挂载点,文件类型
后面用逗号分开表示挂载点配置,
defaults:代表auto自动挂载,rw读写,suid:超级用户,exec可执行,nouser不准用户挂载,只允许root用户,async同步
远程挂载:
远程挂载可以通过samba来挂载非本机的文件系统。
sudo mount -t smbfs //192.168.15.23/share_doc /xx -o user=xxx dir_mod=755,file_mode=755,noserverino,uid=1001,gid=1001
user是指被挂载机的用户名
前提是准备被挂载设备先要把共享点磁盘先共享出来,鼠标右击,点出属性配置即可,要允许陌生人挂载,如果允许读写也要将允许读写点属性点上。
然后,在本机运行上面点命令,提示要输入密码,此时输入被共享机器的密码。注意,如果共享的目录,本身也是挂载的,就需要在挂载此文件系统使将其挂载属性为777,否则远程挂载不能修改该文件系统。

scp 远程复制文件

scp remote_file local_file
example scp hanhj@192.168.15.23:/home/hanhj/.vimrc .
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值