Linux学习笔记 一、常用命令 LINUX常用操作命令和命令行编辑快捷键 终端快捷键: Ctrla/Home切换到命令行开始 Ctrle/End切换到命令行末尾 Ctrl1清除屏幕内容,效果等同于clear Ctrlu清除剪切光标之前的内容 Ctrlk剪切清除光标之后的内容 Ctrly粘贴刚才所删除的字符 Ctrlr在历史命令中查找(这个非常好用,输入关键字就调出以前的命令了) Ctrlc终止命令 ctrlo重复执行命令 Ctrl d 退出 shell, logout Ctrlz转入后台运行,但在当前用户退出后就会终止 Ctrlt颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符 Att交换当前与以前单词的位置 Altd剪切光标之后的词 Ctrlw剪切光标所在处之前的一个词(以空格、标点等为分隔符) Ctrl(xu)按住Ctrl的同时再先后按x和u,撤销刚才的操作 Ctrls锁住终端 Ctrlq解锁终端 !
重复执行最后一条命令 history显示你执行过的编号历史命令.
这个可以配合!
编辑来执行某某命令 !S显示系统最近的一条参数 最后这个比较有用,比如我先用cat/etc/sysconfig/network-scripts/ifconfig-etho,然后我想用vim编辑.
一般的做法是先用1显示最后一条命令,然后用Home移动到命令最前,删除cat,然后再输入vim命 令.
其实完全可以用vim!
S来代替.
gnome快捷键 AltF1类似 Windows 下的 Win 键,在 GNOME 中打开"应用程序"菜单(Applications) AltF2类似Windows下的WinR组合键,在GNOME中运行应用程序 CtrlAltD类似Windows下的WinD组合键,显示桌面 CtrlAtL锁定桌面并启动屏幕保护程序 AltTab同Windows 下的AltTab 组合键,在不同程序窗口间切换 PrintScreen 全屏抓图 AltPrintScreen当前窗口抓图 CtrlAt→/←在不同工作台间切换 CtrlAtShift→/移动当前窗口到不同工作台 CtrlAltFn终端N或模拟终端N(n和N为数字1-6)
CtrlAltF7返回桌面 窗口操作快捷键 AltF4关闭窗口 AtF5取消最大化窗口(恢复窗口原来的大小) AtF7移动窗口(注:在窗口最大化的状态下无效) AltF8改变窗口大小(注:在窗口最大化的状态下无效) AltF9最小化窗口 AltF10最大化窗口 Alt空格键打开窗口的控制菜单(点击窗口左上角图标出现的菜单) 文件浏览器 CtrlN新建窗口 CtrlShiftW关闭文件浏览器 Ctrl1/2改变文件夹视图查看方式,图标视图/列表视图 Alt→/←后退/前进 At1/↓移动到父文件夹/选择的文件夹 AltHome直接移动到主文件夹 F9开关显示隐藏Nautilus侧边栏 CtrlH显示隐藏文件(切换键) ShiftCtrlN新建文件夹,很有用 AtEnter查看选择文件/文件夹的属性,代替单击右键选择属性 CtrlPageUp上一个标签 CtrlPage Down 下一个标签 AltN切换到第N个标签(N为数字) 关机和重启命令 Shutdown Reboot poweroff grep和管道符 昨天的时候leader给我出了道问题: 找出文件夹下包含“aaa”同时不包含“bbb"的文件,然后把他们重新生成一下.
要求只能用一行命令.
我对Linux是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的.
这个问题对我来说就有 点难度,我只是大概知道查找文件用grep,其他的就不知道了.
不过没关系,用Google,查找到grep 的完整用法: 1、grep-l"boss'*显示包含boss 的文件名.
2、grep-n‘boss'fle在匹配行之前加行号.
3、grep-i“boss'file显示匹配行,boss不区分大小写.
4、grep-v'bossfile显示不匹配行.
5、grep-q“boss'fle找到匹配行,但不显示,但可以检查grep的退出状态.
(0为匹配成功) 6、grep-c“boss'file只显示匹配行数(包括0).
7、grep“Sboss”file 扩展变量boss 的值再执行命令.
8、ps-eflgrep"user1”搜索user1的命令,即使它前面有零个或多个空格.
(来源:蓝森林) 了解了grep的参数之后,间题就解决了一半了,因为可以搜索出符合条件的文件了.不过光有grep 还是 不行,因为要把搜索出来的文件名作为参数传给generate 命令.
Ok,接下来该管道符出场了.
即使是像我这样对Linux只是有一点了解的人也经常用到管道符,比如"1",示例:s-a|more.
但是对 于管道符的具体意义和它做了什么我就不知道了,没关系,Google一下,找到一些资料: 利用Linux所提供的管道符"I"将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入.
连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命 令的输入,依此类推.
所以查找的时候可以这样写: A-da | ee μ-da 这样右边的命令就可以从前面的结果中筛选了,然后还有generate命令,因为生成文件的命令格式是这 样的: generate 文件名 不过如果直接使用generate grep-rl"aa"*|grep-v“bbb”的话会出错,因为命令会从左向右执行,这条 命令就会把grep作为一个文件名来看待.
怎么办呢?
这个时候就要使用(键盘上数字键1旁边的那个符 号,和"~"在一个按键上)来做命令替换了,用把后面的grep命令包起来就好了,这样: q - daeee - daaua 然后就搞定了.
工作一段时间之后,越来越喜欢Linux的哲学了,它有很多命令,看起来功能都不是那么强劲,但是如果 你开动脑筋把这些命令组合起来的话,就能实现很多让你意想不到的功能,有时候你忍不住惊呼:实在 是太coooool了!
这对于像我这种被Windows的傻瓜式操作惯坏了的人来说,是个福音,以后要多多开 动生锈了的大脑.
如果单纯使用电脑的话,还是Windows好用,但是对于程序员,最好还是多玩玩Linux.
BTW,现在也越来越喜欢使用VIM了,虽然刚开始用的时候就觉得它是个记事本~份”以前总听说“真正 的牛人编码都是用记事本编写的”,当时就觉得这些人实在太厉害了,代码提示和自动补全都不用,现在 想想,可能是外行看到他们使用灵活强大的VIM或者EMACS了吧.
^_^ 我的补充: 查找包含logField又包含open的文件: 用 grep “logFileld" *.tbc|grep "open" 二、磁盘管理 文件系统配置文件 /etc/filesystems:系统指定的测试挂载文件系统类型 /proc/filesystems:Linux系统已经加载的文件系统类型 /lib/modules/2.6.18-274.el5/kernel/fs/文件系统类型的驱动所在目录 /etc/fstab /etc/mtab linux文件类型的颜色 inux文件额色的含义:蓝色代表目录绿色代表可执行文件红色表示压缩文件浅蓝色表示链接文件灰 色表示其他文件红色闪烁表示链接的文件有问题了黄色表示设备文件
蓝色文件目录 白色文件-一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件 --链接文件,主要是使用In命令建立的文件 绿色文件 -可执行文件,可执行的程序 红色文件- -压缩文件或者包文件 Linux下用字符表示的文件类型 -:普通文件 d:目录文件 I:链接文件 b:块设备文件 c:字符设备文件 p:管道文件 文件系统操作命令 df:列出文件系统的整体磁盘使用情况 [root@centos57 ~]# df -h 文件系统 容量已用可用已用%挂载点 /dev/mapper/VolGroup00-LogVol00 16G4.2G 11G 28%/ /dev/sda1 W66 13M 81M 14%/boot tmpfs 1005M 01005M 0% /dev/shm [root@centos57 ~]# df -i 文件系统 Inode(1)已用(()可用(10己用%挂载点 /dev/mapper/VolGroup00-LogVol00 4186112 154441 4031671 4% / /dev/sda1 26104 36 26068 1% /boot tmpfs 257210 1 257209 1% /dev/shm /so 0 0 -/mnt/hgfs du:列出目录所占空间 du -sh 显示当前目录大小 du-sh/显示/目录下的目录大小 dumpe2fs:显示当前的磁盘状态 In:连接文件(快捷方式) In-sf 源文件 目标文件 不加任何参数就进行连接,就是hard link,加上-s就是Symbolic link hard link不支持目录和跨文件系统.
Fdisk Fdisk不支持大于2T的磁盘 Fdisk-显示系统中的分区内容 [root@centos57 ~]#fdisk- Disk /dev/sda: 21.4 GB 21474836480 bytes 255 heads 63 sectors/track 2610 cylinders 总扇区数,可以和下面的最后扇区数比较,看剩余
Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot uens End Blocks IdSystem /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 208604028eLinuxLVM [root@centos57~]#fdisk/dev/sda2 Parted:2T以上磁盘分区工具 支持大于2T的磁盘,2T以下的最好还是用Fdisk来分区.
[root@centos57 aixi]# parted /dev/hda print Model: VMware Virtual IDE Hard Drive (ide) Disk /dev/hda: 2147MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Filesystem标志 1 32.3kB101MB101MB主分区ext3 2 101MB 357MB256MB主分区linux-swap # parted /dev/hda rm 2 删除第2个分区 #parted/dev/hdamkpart primary ext3120MB200MB创建分区,primary代表主分区,还可以是 extended扩展分区,logical逻辑分区;ext3代表分区类型,120MB是开始位置,最好是接上一分区的结束位 置,200M是结束位置 partprobe:更新分区表/磁盘 用于重读分区表,当出现删除文件后,出现仍然占用空间.
可以partprobe在不重启的情况下重读分区 # partprobe 这个命令执行完毕之后不会输出任何返回信息,你可以使用mke2fs命令在新的分区上创建文件系统.
Mkfs:磁盘格式化 Mkfs-t文件系统格式设备文件名(盘符) [root@centos57 ~]# mkfs -t ext3 /dev/hda1 e2label:设置磁盘卷标 e2label设备名称新label名称,可以用dumpe2fs查看卷标 [root@centos57 ~]# e2label /dev/hda1 aixi Mount:挂载磁盘 命令格式: mount [-t vfstype] [-o options] device dir / one'su'unowau ojunou 重新挂载 mount -n =o remount rw / 重新挂载根目录,设置为可读写 其中: 1.-tvfstype指定文件系统的类型,通常不必指定.
mount会自动选择正确的类型.
常用类型有: 光盘或光盘镜像:iso9660 DOSfat16文件系统:msdos Windows9xfat32文件系统:vfat Windows NTntfs 文件系统:ntfs Mount Windows 文件网络共享:smbfs