关注我,你的眼睛会怀孕 本篇文章具体讲述Linux下的一些基本命令以及文件类型,学习Linux最开始都是要掌握这些基础,这些基础让你在以后的运维道路上如鱼得水。废话不多说,开始进入正题了。 第1点、基本命令 基本命令包括:cd whatis type pwd file shutdown reboot init runlevel ls touch stat mkdir rmdir cp mv rm alias unalias history RHEL5终端的切换: ctrl + alt + f1-f6 切换字符终端 ctrl + alt + f7 切换到图形终端 alt + f2 相当于打开“运行”窗口 (gnome-terminal) ------------------------------------------------------ RHEL6终端的切换: ctrl + alt + f2-f6 切换字符终端 alt + f1 切换到图形终端 alt + f7 备份图形终端 alt + f2 相当于打开“运行”窗口 (gnome-terminal) 路径: 绝对路径 以正斜线“/”开头 描述道文件位置的完整说明 任何时候你想指定文件名的时候都可以使用 cd /tmp/aa 相对路径 不以正斜线开头 制定相对于你的当前工作目录而言的位置 可以使用做制定文件名的快捷方式 相对路径:cd ../tmp pwd查看当前所在的工作目录 如何界定:type 命令 :type cd 或者 type ls 命令分为内部命令和外部命令,内部命令移动不影响命令的使用,但是外部命令,移动了就会失效。 whatis --查看命令的完整名称 关机/重启 # halt -p或poweroff --马上关机 # init 0--马上关机 # shutdown -h now --马上关机 # reboot (halt) --马上重启 # shutdown -r +10 (now) --10分钟后(马上)重启 # init 6 --马上重启 # ctrl+alt+del init <--改变系统的运行级别 ,下面的定义在/etc/inittab文件设定 0 --- 关机 1 --- 默认没有用户和密码验证,单用户模式,忘记管理员密码用来修改密码,或者一些简单的排错 2 --- 不带网络的文本模式,不带网络的多用户模式 3 --- 带网络的文本模式,带网络的多用户模式 4 --- 保留,没用 5 --- 带图形的模式 6 --- 重启电脑 # runlevel N 5 N代表没有,也就是说直接进入带图形的模式 S代表从但用户模式进入5模式 init 6 重启 init 0 关机 原来一登录系统的时候,就是运行级别3,要想运行图像界面: 1、 startx 2、 init 5 要使用init对系统进行重启或者关机,建议大家使用之前,运行以下命令: sync 关机: shutdown -r 重启电脑 shutdown -P 直接关闭电源 shutdown -h 15:00 <---设定电脑15:00就关机 shutdown -h 14:35 "Hurry up. The system is shutting down " & (与符号,后台运行) shutdown -c 取消计划中的关机或者重启 cd(change the working directory): cd --直接回到当前用户的家目录 cd ~ --直接回到家目录 cd .. --返回上级目录 cd . --回到当前目录 cd - --在两个目录之间切换 cd <path> -- ls(list directory contents): ls --查看当前目录包含哪里些内容 ls ./ --查看当前目录包含哪里些内容 ls ../ --查看上层目录包含哪里些内容 ls -a --查看当前目录中所有的文件,包括以点开头的隐藏文件 ls -l --详细方式列出目录中的内容 ls -al / --以长格式列出目录中所有的内容,包括隐藏文件 ls -ltr --以长格式和时间及以时间反向顺序来显示目录中的内容 ls -R --递归列出目录中的内容 tree /a/ --查看a目录的目录树结构 ls -lh h以k单位显示 ll -d 列出目录 touch:如果文件存在,则更新文件的时间戳/如果目标不存在,会创建一个空文件,可以改变三个时间 touch /a 更新时间戳,因/a这个文件存在 touch /aa 创建空文件 Access: 2013-05-27 15:28:01.082561140 +0800 --访问 Modify: 2013-05-27 15:28:01.082561140 +0800 --修改文件时间 Change: 2013-05-27 15:28:01.082561140 +0800 --属性修改时间 touch {1,2,3}aa{4,5,6}bb{7,8,9} --创建27个空文件 touch “{1,2,3}aa{4,5,6}bb{7,8,9}“ --创建1个空文件 touch 2 3 --创建一个2,同时又创建一个3 touch '2 3' --创建一个 2空格3 的文件 touch {4..10} --创建4到10 touch {a..z} 中间的 .. 代表循环体.比如1..100,就是1到100 touch {A..Z} sequence 序列 seq 100 产生1到100的序列 # seq 1 2 100 |xargs touch --创建出1到100内的奇数文件 mkdir `seq 1 2 100` # seq 0 2 100 eg: # touch `seq 1 2 100` ]# ls 1 15 21 27 31 37 43 49 53 59 65 7 75 81 87 91 97 11 17 23 29 33 39 45 5 55 61 67 71 77 83 89 93 99 13 19 25 3 35 41 47 51 57 63 69 73 79 85 9 95 stat:显示文件时间戳 #stat install.log 访问时间 (access time):文件被访问的时间,文本访问类命令会修改此时间 修改时间 (modify time):文件内容被修改的时间,使用 echo 命令会修改此时间 元数据改变时间(chage time):文件属性的变化(名称、大小、权限、链接等),mv、echo 命令会修改此时间 vim 可以是改变访问时间和修改时间,echo > 直接重定向可以改变修改时间。 touch -m | a -t 201108311630.15 2011年8月31日16点30分15秒 修改时间的时候 a 对应 Access ;m 对应 Modify ;Change没有对应的修改参数,不可修改 touch :建立文件 touch file1 file2 :创建多个文件 touch -d 20110808 修改文件日期 touch -d 1215 修改文件时间 mkdir(他建目录) mkdir /a/ --新建一级目录 mkdir -p /c/d --新建多级不存在目录 rmdir:删除空目录 #rmdir dir1 #rmdir -p a/b/c cp copy files and directories cp /dir1/file1 /dir2/ cp /dir1/file1 /dir2/file2 cp -a /dir1/file1 /dir2 --从dir1目录拷贝文件至2,过程中文件中所有的属性不变 cp -r /dir1/ /dir2 --递归拷贝 注意:\cp /dir1/file1 /dir2/file1 如果有重名的不讯问是否覆盖,直接覆盖 (\ 为转移符) unalias -a | cp -r eg: # sudo -ukiki touch kiki # ll kiki -rw-r--r--. 1 kiki kiki 0 12月 28 20:40 kiki [root@chen tmp]# cp -a kiki ./test/ [root@chen tmp]# ll ./test/kiki -rw-r--r--. 1 kiki kiki 0 12月 28 20:40 ./test/kiki mv move (rename) file mv /dir1/file1 /dir2 mv /dir1/file1 /dir2/file2 --移动并改名 mv /dir1/file1 /dir1/file2 --改名字 rm - remove files or directories rm /a.txt rm /a/ rm -rf /a/ /a.txt 删除方法小结:不管是删除文件还是删除目录,统一用rm -rf 进行删除,就不用记那么多的参数了。 alias --定义别名 alias xxx='yyy' #alias kk='ls --color' # unalias kk unalias xxx 取消别名 永久定义别名 # vim /etc/bashrc alias grep='grep --color=tty' history - Manipulate the history list [root@instructor ~]# env |grep HIS history --查看命令历史 history -c --清空命令历史 history -w --把命令历史写入默认文件中(/root/.bash_history) 只有在退出去之后,才能把历史记录保存在当前用户家目录的 .bash_history下 ! !number ctrl+r :通过输入关键字查找输入历史中的命令 文件名:大小写敏感,不可超过255字符,不可以使用/,建议不要~ \ < > ( ) $ * ? " ' >> << 文件颜色: 黑色:普通文本文件 绿色:可执行文件 目录:蓝色 链接:浅蓝色 设备:黄色 特殊权限文件(s)/管道文件(p):粉红色 快捷键: crtl + c : 中断 ctrl + d : 中止输入 ctrl + l : 清屏 或者可以使用 #clear ctrl + z : 把当前任务调至后台 jobs:查看后台任务 fg 将后台中的命令调至前台继续运行 fg 任务编号 bg 将一个在后台暂停的命令,变成在后台继续执行 bg 任务编号 ctrl + k :删除当前光标到后面的所有内容 ctrl + u :删除当前光标到前面的所有内容 ++++ [root@i ~]# jobs [1] Running sleep 1000 & [2] Running sleep 10010 & [4]- Running sleep 10012 & [5]+ Running sleep 10013 & [root@i ~]# fg 4 sleep 10012 ^Z [4]+ Stopped sleep 10012 [root@i ~]# jobs [1] Running sleep 1000 & [2] Running sleep 10010 & [4]+ Stopped sleep 10012 [5]- Running sleep 10013 & # bg 4 [4]+ sleep 10012 & [root@i ~]# jobs [1] Running sleep 1000 & [2] Running sleep 10010 & [4]- Running sleep 10012 & [5]+ Running sleep 10013 & 第2点、命令帮助 命令帮助步骤: 1、辨别是可执行的二进制命令还是文件,命令是file; 2、如果辨别出来是一个可执行的二进制命令; 3、使用type查询该命令是内部命令还是外部命令; 4、使用whatis查询该命令的全称 5、如果是外部命令,则使用命令+(--help)的形式查询简约的帮助文档,如果是内部命令则 可以直接使用help +命令的形式查看简约帮助文档; 6、查询man文档(1. 5. 8) 例如:man 5 命令 man -k 命令 man -f 命令 7、使用info查看doc帮助文档,一般形式 info /usr/share/doc/要找的命令的关键字 help --简单帮助 command(out) --help 外部命令 help command(build_in) 内部命令 [root@desktop22 桌面]# type ls ls is aliased to `ls --color=auto' 此为外部命令 [root@desktop22 桌面]# type echo echo is a shell builtin 此为内部命令 内部:help “内部命令” || help pwd 外部:外部命令 --help || ls --help man --帮助手册 man man man [123456789] command (man man 可以找出以下的东西) 1 用户命令 2 内核系统调用(从用户空间到进入点内核的) 3 库函数 4 特殊文件和设备 5 文件格式和规范 6 游戏 7 规范、标准和其他页面 8 管理员用的命令帮助手册 9 linux、内核API(内核调用) man -k passwd 执行关键字搜索 man -f useradd useradd的man page 文件是哪个? 1.whatis 2. type查看 类型 3. --help 4. man 一下 5. rpm -ql dhcp | grep doc 查看doc 文档 第3点、时间 一定要会查帮助文档,先看参数,再往下看参数对应的格式是什么是分部分看的。 date 如此多的参数可以通过 date --help的方式来了解参数的用法,不用死记硬背。 使用网络时间同步方法修正当前自己机器时间 #ntpdate 192.168.0.254 远程同步服务器时间 #hwclock --systohc 让时间同步到硬件时钟(BIOS) # clock -w 这个命令强制把系统时间写入CMOS date --查看当前时间 # date +%F 2011-08-01 # date +%F --date="30 day ago" 2011-07-02 # date "+%Y-%m-%d %H:%M:%S" 2012-10-21 15:18:17 #echo $(($(date +%s)/86400)) <---计算距离1970-01-01到现在的天数 14538 \转意符 的使用方法很重要。 反撇号`` 优先解析 示例:mkdir ` date +%F --date="30 day ago"` 会建立一个名字为2013-10-27的目录 尝试利用帮助把当前时间修改为 2000-10-03 09:04 date date -s 2012-10-03\ 09:05 date -s "2012-10-03 09:05" date 100309052012 cal 格式 cal month year cal 2 2012 显示2012年2月份的日历 cal 2012 显示2012年全年的日历 第4点、Linux文件类型 查看文件类型: ls -l file +文件 --界定一个文件类型 b 块文件也叫设备文件也叫特殊文件 c 字符文件 d 目录文件 p 管道文件 f(-) 普通文件/文本文件 l 链接文件 s(socket) unix/类unix套接字 第5点、判断是什么文件类型或者命令 file (判断文件类型) # file kk 判断是什么文件类型 kk: empty 空文件 --> 如果不是文件 type (判断二进制命令【内部|外部】) type kk kk is /bin/kk --外部命令 或者 # type kk kk is a shell builtin 假如它是一个外部命令 whatis # whatis kk 一个命令的完整名称 which # which kk 查询命令的路径 /bin/kk help # kk --help 查询简约帮助信息 man # man -f kk 该命令包含有几个man page 文档 kk (1) - .. 参数 kk (8) - .. man 8 kk info /usr/share/doc/ 后续 本文章已经将基本的Linux命令介绍完,有兴趣的可以自己装个centos的虚拟机玩玩,敲敲命令,还是挺有意思的。先培养Linux兴趣,其他复杂的东西不要想太多。 来自:运维人生 来源:http://www.ywadmin.com/?id=94 年度热文 【必看】一次心惊肉跳的服务器入侵排查.... 【必看】IT行业常用专业术语,你get到了吗? 【必看】网络工程师技能图谱,这些你都会吗? 【干货】服务器性能优化的8种常用方法 【干货】网工常见面试题集锦(一) 【收藏】网工常见面试题集锦(二) 【必看】这些Linux命令能解决95%以上的问题 【必看】超全Linux工作规划线路图 【必看】网工面试必答问题,看完OFFER轻松拿 【干货】华为交换机端口vlan详解 【干货】什么样的网络需要划分VLAN? 【干货】组播原理协议讲解 【收藏】网络故障处理手册大全,看完再也不怕出问题了 系统集成/认证培训 买设备,找我们 IT维保,找我们 IT培训,找我们 ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:厦门微思网络,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |