计算机基础与Linux入门
计算机组成及功能
Linux常见发行版
Linux重要哲学思想
Linux文件系统层级结构及文件命名规则
如何获取Linux命令的使用帮助
Linux常用命令及示例
1.1 计算机组成及功能
1.1.1 计算机的五大部件
计算机的主要组成部分有:
-
1、CPU:运算器
-
2、控制器、寄存器(内部存储)、缓存;
-
3、存储器:内存,RAM;
-
4、INPUT:下达指令,提供数据等;
-
5、OUTPUT:输出数据加工后的结果;
其中:1和2都属于CPU的内部组件
1.2 Linux常见发型版本
-
1、CentOS:从RedHat发展而来的发行版,由志愿者维护与RedHat完全兼容,目前已经被RedHat收购。
-
2、Debian:一个强烈信奉自由软件,并由志愿者维护的系统。
-
3、Fedora:是RedHat的社区版,会经常引入新特性测试。
-
4、RedHat:有Redhat公司发行并维护。
-
5、Ubuntu:一个非常流行的桌面发行版。
-
6、SUSE:SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。
1.3 Linux重要哲学思想
-
1、一切皆文件(硬件设备也是通过文件表示)
物理终端: /dev/console
虚拟终端: /dev/tty[1-6]
串行终端: /dev/ttyS#
伪终端: /dev/pts/#
-
2、由众多目的单一的小程序组成,一个程序只做一件事,并且做好;
-
3、组合小程序完成复杂任务;
-
4、尽可能避免跟用户交互;
-
5、使用文本文件保存配置信息;
-
6、提供机制,而非策略。
1.4 Linux文件系统层级结构及文件命名规则
文件是什么?众多文件如何有效组织起来?
-
目录:目录是路径的映射
-
文件:存储空间的一段流式数据,对数据可以做到按名存取;
-
Linux的文件系统:层级结构;有索引;
Linux的文件系统成倒置的树状结构,如下:
/ |-- bin -> usr/bin |-- boot |-- data |-- dev |-- etc |-- home |-- lib -> usr/lib |-- lib64 -> usr/lib64 |-- media |-- mnt |-- opt |-- proc |-- root |-- run |-- sbin -> usr/sbin |-- srv |-- sys |-- tmp |-- usr `-- var
1.4.1 文件的路径表示
-
绝对路径: 从根开始表示出的路径;
[root@bj-1-140-node1 ~]# cd /etc/
-
相对路径: 从当前位置开始表示出的路径;
[root@bj-1-140-node1 etc]# cd sysconfig/
1.4.2 文件名使用法则
-
1、严格区分字符大小写;
-
2、目录也是文件,在同一个目录下,两个文件不能同名;
-
3、支持使用除/以外的任意字符;
-
4、最长不能超过255个字符;
1.4.3 用户家目录
用户的起始目录: 普通用户管理文件的位置;
普通用户Jerry的家目录就是/home/Jerry
1.5 如何获取Linux命令的使用帮助
Linux系统的命令分为外部命令与内部命令两大类
1.5.1 内部命令的使用帮助
内部命令使用help查看命令的使用方法;查看命令是内部还是外部命令通过type查看;
[root@bj-1-140-node1 ~]# help cd
1.5.2 外部命令的使用帮助
外部命令的使用帮助可以有两种方式。
-
1、命令自带简要格式的使用帮助
[root@bj-1-140-node1 ~]# tree --help
-
2、使用man手册获取命令帮助
命令格式:
man [1-8] COMMAND
常用选项:
-M /PATH/TO/SOMEDIR 到指定目录下查找手册并打开
man命令可以指定查看某个具体章节
SECTION: NAME: 功能性说明 SYNOPSIS:语法格式 DESCRIPTION: 描述 OPTIONS:选项 EXAMPLES: 使用示例 AUTHOR: 作者 BUGS:报告程序bug的方式 SEE ALSE: 参考 SYNOPSIS: []:可选内容 <>:必须提供的内容 a|b|c:多选一 ...:同类内容可出现多个
使用手册:压缩格式的文件,有章节之分
/usr/share/man man1, man2, man3, ... man1:用户命令; man2:系统调用 man3:C库调用 man4:设备文件及特殊文件 man5:文件格式(配置文件格式) man6:游戏使用帮助 man7:杂项 man8:管理工具及守护进程;
man命令打开手册以后的操作方法
翻屏:空格键,向文件尾部翻一屏; b:向文件首部翻一屏; Ctrl+d:向文件尾部翻半屏; Ctrl+u:向文件首部翻半屏; 回车键:一次向文件尾部翻一行; k:向文件首部翻一行; G:跳转最后一行 #G:跳转至指定行,#号代表数字 文本搜索功能: /关键词搜索指定字符串不区分大小写,从文件首部向尾部依次查找 或 ?关键词从文件尾部向首部部依次查找 n:与查找命令方向相同 N:与查找命令方向相反 退出: q
1.5.3 应用程序自带的帮助文档
-
REDEME: 应用程序的相关信息
-
INSTALL: 安装帮助
-
CHANGES: 版本迭代时的改动信息
1.5.4 通过程序的官方文档获取帮助
通过查看获取官方站点上的"Document"
1.5.5 用好搜索引擎
Google搜索关键词:
如搜索某一类型文档可以在后面加上filetype:pdf 例如:centos7 filetype:pdf
也可以在指定站点搜索指定内容,例如:centos7 site:51cto.com
1.6 Linux常用命令使用
1.6.1 help
获取内部命令帮助
[root@bj-1-140-node1 ~]# help cd
1.6.2 pwd
获取当前工作目录
[root@bj-1-140-node1 ~]# pwd/root
1.6.3 file
查看文件类型
[root@bj-1-140-node1 ~]# file /etc/issue /etc/issue: ASCII text [root@bj-1-140-node1 ~]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
1.6.4 basename
指定一个文件路径获取文件的基名
[root@bj-1-140-node1 ~]# basename /etc/sysconfig/selinux selinux
1.6.5 dirname
获取文件所在的目录名
[root@bj-1-140-node1 ~]# dirname /etc/sysconfig/selinux /etc/sysconfig
1.6.6 type
查看命令的类型是内部命令还是外部命令
[root@bj-1-140-node1 ~]# type cd cd is a shell builtin [root@bj-1-140-node1 ~]# type tree tree is hashed (/usr/bin/tree)
1.6.7 cd
切换目录
命令格式
cd /PATH/TO/SOMEDIR
cd 不加任何参数时切换回家目录;bash中~表示家目录;
cd ~ :切换回自己的家目录cd ~USERNAME :切换到指定用户家目录cd - :切换至上一次所在目录
cd相关的环境变量
$PWD 当前工作目录$OLDPWD 上一次的工作目录
1.6.8 ls
list 列出指定目录下的内容
命令使用格式: ls [OPTION]... [FILE]... -a:显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l:显示文件的详细属性信息; -rw-------. 1 root root 1182 Dec 2 04:27 anaconda-ks.cfg -:文件类型 rw-------:文件的权限分为三组 rw-:文件属主的权限; ---:文件的属组的权限; ---:其它用户的权限(非属主、属组); 1:数字表示文件被硬链接的次数; root:文件的属主; root:文件的属组; 1182:文件的大小,单位是字节; Dec 2 04:27:文件最近一次被修改的时间 anaconda-ks.cfg:文件名 -h:将文件大小换算成人类可读的形式 -d:查看目录自身的详细信息,并非目录中内容; -r:以逆序的方式显示文件; -R:递归显示;
示例
[root@bj-1-140-node1 ~]# ls anaconda-ks.cfg [root@bj-1-140-node1 ~]# ls -l total 4 -rw-------. 1 root root 1182 Dec 2 04:27 anaconda-ks.cfg [root@bj-1-140-node1 ~]# ls -lr /etc/sysconfig/ total 92 -rw-r--r--. 1 root root 644 Jun 16 2015 wpa_supplicant -rw-r--r--. 1 root root 138 Aug 13 2015 svnserve -rw-r-----. 1 root root 506 Nov 20 2015 sshd lrwxrwxrwx. 1 root root 17 Dec 2 04:22 selinux -> ../selinux/config -rw-r--r--. 1 root root 0 Jun 10 2014 run-parts -rw-r--r--. 1 root root 196 Sep 8 2015 rsyslog -rw-r--r--. 1 root root 12 Nov 21 2015 rsyncd -rw-r--r--. 1 root root 755 Nov 20 2015 readonly-root -rw-r--r--. 1 root root 15 Nov 21 2015 rdisc -rw-r--r-- 1 root root 159 May 31 2016 ntpdate drwxr-xr-x. 2 root root 4096 Dec 4 2016 network-scripts -rw-r--r--. 1 root root 22 Dec 2 04:27 network -rw-r--r--. 1 root root 634 Nov 20 2015 netconsole drwxr-xr-x. 2 root root 6 Nov 20 2015 modules -rw-r--r--. 1 root root 200 Mar 18 2014 man-db -rw-r--r--. 1 root root 180 Dec 2 04:26 kernel -rw-r--r--. 1 root root 1460 Nov 21 2015 kdump -rw-r--r--. 1 root root 903 Jul 14 2015 irqbalance -rw-------. 1 root root 1974 Nov 20 2015 iptables-config -rw-------. 1 root root 1988 Nov 20 2015 ip6tables-config -rw-r--r--. 1 root root 798 Nov 20 2015 init lrwxrwxrwx. 1 root root 17 Dec 2 04:23 grub -> /etc/default/grub -rw-r--r--. 1 root root 72 Nov 20 2015 firewalld -rw-------. 1 root root 1390 Jun 10 2014 ebtables-config -rw-------. 1 root root 110 Jul 27 2015 crond -rw-r--r--. 1 root root 150 Nov 20 2015 cpupower drwxr-xr-x. 2 root root 6 Nov 20 2015 console drwxr-xr-x. 2 root root 41 Dec 2 04:22 cbq -rw-r--r--. 1 root root 429 Dec 2 04:27 authconfig
1.6.9 cat
文本文件查看工具,查看文件中的内容
命令格式: cat [OPTION]... [FILE]... -n:显示行号; -E:显示文件尾部行结束符$;
示例
[root@bj-1-140-node1 ~]# cat -n /etc/fstab 1 2# 3# /etc/fstab 4# Created by anaconda on Fri Dec 2 04:20:15 2016 5# 6# Accessible filesystems, by reference, are maintained under '/dev/disk' 7# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 8# 9UUID=d7c087de-36be-468d-aa08-b0d203c80db0 / xfs defaults 0 0 10UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot xfs defaults 0 0 11UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap swap defaults 0 0 [root@bj-1-140-node1 ~]# cat -E /etc/fstab $ #$ # /etc/fstab$ # Created by anaconda on Fri Dec 2 04:20:15 2016$ #$ # Accessible filesystems, by reference, are maintained under '/dev/disk'$ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$ #$ UUID=d7c087de-36be-468d-aa08-b0d203c80db0 / xfs defaults 0 0$ UUID=3f4c9e32-d1bc-472b-ae1b-04eab1745d7e /boot xfs defaults 0 0$ UUID=a6ff9119-a960-4896-8060-15c0f68c993a swap swap defaults 0 0$
1.6.10 echo
回显命令
echo [SHORT-OPTION]... [STRING]... -n:不进行换行; -e:让转义符生效; \n:换行符 \t:制表符(Tab键) 颜色控制: [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"STRING 可以使用引号,单引号和双引号都可以; 单引号:强引用,变量引用不执行 双引号:弱引用,比那里应用会执行
示例
[root@bj-1-140-node1 ~]# echo -e "Hello\nWorld"HelloWorld [root@bj-1-140-node1 ~]# echo -e "\033[32;1mHello,World\033[0m"Hello,World
1.6.11 shutdown
关机或重启命令
命令格式: shutdown [OPTIONS...] [TIME] [WALL...] -h:halt 关机 -r:reboot 重启 -c:cancel 取消 TIME: now 立即执行 hh:mm # 指定一个具体的时间 +m :在几分钟以后关机 WALL:可以指定关机或者重启时要发送的信息
示例
1.6.12 日期相关的命令
-
date 显示系统时钟
显示日期时间: date [OPTION]... [+FORMAT] FORMAT:格式符 %F:显示年-月-日 %T:显示小时:分钟:秒钟 %Y:年 %m:月 %d:日 %M:分钟 %H:小时 %S:秒 %s:从1970-01-01到命令执行的那一刻所经历的秒钟(unix元年) 设定日期时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date 月日时分年.秒 date 120415492016.08
[root@bj-1-140-node1 ~]# date Sun Dec 4 18:34:38 CST 2016 [root@bj-1-140-node1 ~]# date +%F2016-12-04 [root@bj-1-140-node1 ~]# date +%T18:34:45 [root@bj-1-140-node1 ~]# date +"%F %T"2016-12-04 18:35:09 # 设置系统时间 [root@bj-1-140-node1 ~]# date 120418382016Sun Dec 4 18:38:00 CST 2016
-
hwclock 显示硬件时钟
-c:把系统时钟设置为跟硬件时钟一样;-w:把硬件时钟设置为跟系统时间一样; [root@bj-1-140-node1 ~]# hwclock Sun 04 Dec 2016 06:34:01 PM CST -0.682422 seconds
-
cal 查看日历
[root@bj-1-140-node1 ~]# cal December 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/62536