admin管理员组

文章数量:1587997

一、 常用命令 LINUX 常用操作命令和命令行编辑快捷键 终端快捷键: Ctrl + a/Home 切换到命令行开始 Ctrl + e/End 切换到命令行末尾 Ctrl + l 清除屏幕内容,效果等同于 clear Ctrl + u 清除剪切光标之前的内容 Ctrl + k 剪切清除光标之后的内容 Ctrl + y 粘贴刚才所删除的字符 Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了) Ctrl + c 终止命令 ctrl + o 重复执行命令 Ctrl + d 退出 shell logout Ctrl + z 转入后台运行 , 但在当前用户退出后就会终止 Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符 Alt + t 交换当前与以前单词的位置 Alt + d 剪切光标之后的词 Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符) Ctrl+ x u ) 按住 Ctrl 的同时再先后按 x u ,撤销刚才的操作 Ctrl+s 锁住终端 Ctrl+q 解锁终端 !! 重复执行最后一条命令 history 显示你所有执行过的编号 + 历史命令。这个可以配合 ! 编辑来执行某某命令 !$ 显示系统最近的一条参数 最后这个比较有用,比如我先用 cat /etc/sysconfig/network-scripts/ifconfig-eth0 ,然后我想用 vim 编辑。 一般的做法是先用↑ 显示最后一条命令,然后用 Home 移动到命令最前,删除 cat ,然后再输入 vim 令。其实完全可以用 vim !$ 来代替。 gnome 快捷键 Alt + F1 类似 Windows 下的 Win 键,在 GNOME 中打开 " 应用程序 " 菜单 (Applications) Alt + F2 类似 Windows 下的 Win + R 组合键,在 GNOME 中运行应用程序 Ctrl + Alt + D 类似 Windows 下的 Win + D 组合键,显示桌面 Ctrl + Alt + L 锁定桌面并启动屏幕保护程序 Alt + Tab Windows 下的 Alt + Tab 组合键,在不同程序窗口间切换 PrintScreen 全屏抓图 Alt + PrintScreen 当前窗口抓图 Ctrl + Alt + / ← 在不同工作台间切换 Ctrl + Alt + Shift + / ← 移动当前窗口到不同工作台 Ctrl+Alt+Fn 终端 N 或模拟终端 N(n N 为数字 1 6) Ctrl+Alt+F7 返回桌面 窗口操作快捷键 Alt + F4 关闭窗口 Alt + F5 取消最大化窗口 ( 恢复窗口原来的大小 ) Alt + F7 移动窗口 ( : 在窗口最大化的状态下无效 ) Alt + F8 改变窗口大小 ( : 在窗口最大化的状态下无效 ) Alt + F9 最小化窗口 Alt + F10 最大化窗口 Alt + 空格键 打开窗口的控制菜单 ( 点击窗口左上角图标出现的菜单) 文件浏览器 Ctrl+N 新建窗口 Ctrl + Shift + W 关闭所有文件浏览器 Ctrl + 1/2 改变文件夹视图查看方式,图标视图 / 列表视图 Alt + / ← 后退 / 前进 Alt + / ↓ 移动到父文件夹 / 选择的文件夹 Alt + Home 直接移动到主文件夹 F9 开关显示隐藏 Nautilus 侧边栏 Ctrl+H 显示隐藏文件(切换键) Shift+Ctrl+N 新建文件夹, 很有用 Alt + Enter 查看选择文件 / 文件夹的属性,代替单击右键选择属性 Ctrl+Page Up 上一个标签 Ctrl+Page Down 下一个标签 Alt+N 切换到第 N 个标签( N 为数字) 关机和重启命令 Shutdown Reboot Halt poweroff grep 和管道符 昨天的时候 leader 给我出了道问题: 找出文件夹下包含 “aaa” 同时不包含 “bbb” 的文件,然后把他们重新生成一下。要求只能用一行命令。 我对 Linux 是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的。这个问题对我来说就有 点难度,我只是大概知道查找文件用 grep ,其他的就不知道了。不过没关系,用 Google ,查找到 grep 的完整用法: 1 grep -l ‘boss’ * 显示所有包含 boss 的文件名。 2 grep -n ‘boss’ file 在匹配行之前加行号。 3 grep -i ‘boss’ file 显示匹配行, boss 不区分大小写。 4 grep -v ‘boss’ file 显示所有不匹配行。 5 grep -q ‘boss’ file 找到匹配行,但不显示,但可以检查 grep 的退出状态。( 0 为匹配成功) 6 grep -c ‘boss’ file 只显示匹配行数(包括 0 )。 7 grep “$boss” file 扩展变量 boss 的值再执行命令。 8 ps -ef|grep “^*user1″ 搜索 user1 的命令,即使它前面有零个或多个空格。 9 ps -e|grep -E ‘grant_server|commsvr|tcpsvr|dainfo’ 查找多个字符串的匹配( grep -E 相当于 egrep (来源: 蓝森林 了解了 grep 的参数之后,问题就解决了一半了,因为可以搜索出符合条件的文件了。不过光有 grep 还是 不行,因为要把搜索出来的文件名作为参数传给 generate 命令。 OK ,接下来该管道符出场了。 即使是像我这样对 Linux 只是有一点了解的人也经常用到管道符,比如 “|” ,示例: ls -a | more 。但是对 于管道符的具体意义和它做了什么我就不知道了,没关系, Google 一下,找到一些资料: 利用 Linux 所提供的管道符 “|” 将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。 连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命 令的输入,依此类推。 所以查找的时候可以这样写: grep -rl “aaa” * | grep -v “bbb” 这样右边的命令就可以从前面的结果中筛选了。然后还有 generate 命令,因为生成文件的命令格式是这 样的: generate 文件名 不过如果直接使用 generate grep -rl “aaa” * | grep -v “bbb” 的话会出错,因为命令会从左向右执行,这条 命令就会把 grep 作为一个文件名来看待。怎么办呢?这个时候就要使用 · ( 键盘上数字键 1 旁边的那个符 号,和 “~” 在一个按键上 ) 来做命令替换了,用 · 把后面的 grep 命令包起来就好了,这样: generate ·grep -rl “aaa” * | grep -v “bbb”· 然后就搞定了。 工作一段时间之后,越来越喜欢 Linux 的哲学了,它有很多命令,看起来功能都不是那么强劲,但是如果 你开动脑筋把这些命令组合起来的话,就能实现 很多让你意想不到的功能,有时候你忍不住惊呼:实在 是太 coooool 了! 这对于像我这种被 Windows 的傻瓜式操作惯坏了的人来说,是个福音,以后要多多开 动生锈了的大脑。如果单纯使用电脑的话,还是 Windows 好用,但 是对于程序员,最好还是多玩玩 Linux BTW ,现在也越来越喜欢使用 VIM 了,虽然刚开始用的时候就觉得它是个记事本 ~ ~~ 以前总听说 真正 的牛人编码都是用记事本编写的 ,当时就觉得这些人实在太厉害了,代码提示和自动补全都不用,现在 想想,可能是外行看到他们使用灵活 + 强 大的 VIM 或者 EMACS 了吧。 ^_^ 我的补充 : 查找包含 logField 又包含 open 的文件: grep "logFileId" *.tbc|grep "open" 二、 磁盘管理 文件系统配置文件 /etc/filesystems :系统指定的测试挂载文件系统类型 /proc/filesystems Linux 系统已经加载的文件系统类型 /lib/modules/2.6.18-274.el5/kernel/fs/ 文件系统类型的驱动所在目录 /etc/fstab /etc/mtab linux 文件类型的颜色 linux 文件颜色的含义:蓝色代表目录 绿色代表可执行文件 红色表示压缩文件 浅蓝色表示链接文件 灰 色表示其他文件 红色闪烁表示链接的文件有问题了 黄色表示设备文件 蓝色文件 ---------- 目录 白色文件 ---------- 一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件 ---------- 链接文件,主要是使用 ln 命令建立的文件 绿色文件 ---------- 可执行文件,可执行的程序 红色文件 ----------- 压缩文件或者包文件 Linux 下用字符表示的文件类型 - :普通文件 d :目录文件 l :链接文件 b :块设备文件 c :字符设备文件 p :管道文件 文件系统操作命令 df :列出文件系统的整体磁盘使用情况 [root@centos57 ~]# df -h 文件系统 容量 已用 可用 已用 % 挂载点 /dev/mapper/VolGroup00-LogVol00 16G 4.2G 11G 28% / /dev/sda1 99M 13M 81M 14% /boot tmpfs 1005M 0 1005M 0% /dev/shm [root@centos57 ~]# df -i 文件系统 Inode (I) 已用 (I) 可用 (I) 已用 % 挂载点 /dev/mapper/VolGroup00-LogVol00 4186112 154441 4031671 4% / /dev/sda1 26104 36 26068 1% /boot tmpfs 257210 1 257209 1% /dev/shm .host:/ 0 0 0 - /mnt/hgfs du :列出目录所占空间 du -sh 显示当前目录大小 du –sh / 显示 / 目录下的所有目录大小 dumpe2fs :显示当前的磁盘状态 ln :连接文件(快捷方式) ln –sf 源文件 目标文件 不加任何参数就进行连接,就是 hard link ,加上 -s 就是 Symbolic link hard link 不支持目录和跨文件系统。 Fdisk Fdisk 不支持大于 2T 的磁盘 Fdisk –l 显示系统中的所有分区内容 [root@centos57 ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders 总扇区数,可以和下面的最后扇区数比较,看剩余 Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2610 20860402+ 8e Linux LVM [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 Type File system 标志 1 32.3kB 101MB 101MB 主分区 ext3 2 101MB 357MB 256MB 主分区 linux-swap # parted /dev/hda rm 2 删除第 2 个分区 # parted /dev/hda mkpart primary ext3 120MB 200MB 创建分区, 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 mount –o remount,rw,auto / 重新挂载 mount –n –o remount,rw / 重新挂载根目录,设置为可读写 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。 mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像: iso9660 DOS fat16 文件系统: msdos Windows 9x fat32 文件系统: vfat Windows NT ntfs 文件系统: ntfs Mount Windows 文件网络共享: smbfs UNIX(LINUX) 文件网络共享: nfs 2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有: loop :用来把一个文件当成硬盘分区挂接上系统 ro :采用只读方式挂接设备 rw :采用读写方式挂接设备 iocharset :指定访问文件系统所用字符集 3.device 要挂接 (mount) 的设备。 4.dir 设备在系统上的挂接点 (mount point) 挂接光盘镜像文件 1 、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。 #cp /dev/cdrom /home/sunky/mydisk.iso #dd if=/dev/cdrom of=/home/sunky/mydisk.iso 注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件 /home/sunky/mydisk.iso 2 、将文件和目录制作成光盘镜像文件,执行下面的命令。 #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir 注:这条命令将 /home/sunky/mydir 目录下所有的目录和文件制作成光盘镜像文件 /home/sunky/mydisk.iso ,光盘卷标为: mydisk 3 、光盘镜像文件的挂接 (mount) #mkdir /mnt/vcdrom 注:建立一个目录用来作挂接点 (mount point) #mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom 注:使用 /mnt/vcdrom 就可以访问盘镜像文件 mydisk.iso 里的所有文件了

本文标签: 学习笔记Linux