Linux的历史和基本命令
UNIX/Linux发展:
问题:
linux是什么?它是一个操作系统吗?
http://www.cnblogs.com/Dodge/articles/4264833.html
1973年贝尔实验室的D.Richie(丹尼斯.里奇)等人用C语言重新编写了第一个Unix的核心
1979年 Richard M.Stallman(理查德.斯多曼)提出Open Source概念
1984年 Richard M.Stallman(理查德.斯多曼)还实际创立了GNU (gnu is not unix)与自由软件基金会
GNU是一个计划项目,该项目的目的是:“开发一个完全自由的unix操作系统”,并创立许多自由软件供大家使用。并且其作品以免费的GNU 通用公共许可证(GPL)的授权模式提供给用户免费使用。
1991年芬兰大学生 Linus Torvalds(托马斯)写了一个非常简单的linux核心在个人计算机上,并放到网上供大家下载,直到1994年发布第一个完整的核心版本version 1.0,并起名叫linux
linux沿袭了unix的优良传统,强大稳定安全 也较类unix unix like
Linux的发行版:
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
特点:
1、完全开源
2、高效安全稳定
3、支持多种硬件平台
4、支持多任务多用户
linux设计理念:
1、一切皆文件
2、以纯文本的方式保存系统配置
3、只有一个唯一的目录树
4、小工具哲学 小工具之间配合完成一个相对较复杂任务
5、为了避免不必要的人机交互,以参数来完成信息传递
查看系统内核版本:
uname -r
2.6.32-431.el6.x86_64
2=主版本号 6=次版本号 32=末版本号 431=修订号 el6=系统版本(红帽6) x86_64=cpu架构
#cat /etc/redhat-release 系统版本
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Linux下的路径表示方式:
绝对路径:从根(/)开始,逻辑上,linux下所有的文件都隶属于根/
相对路径:相对当前的工作路径而言
基本命令
pwd:查看当前的工作路径
tree:命令查看目录树
cd:更改工作路径
cd 回车 默认回到当前用户的家目录里
cd ~ 回到当前用户的家目录里
cd .. 或者 cd ../ 切换到当前目录的上一级目录
cd ../../
cd . 或者 cd ./ 当前目录
cd - 回到上一次所在的目录
which :查找命令的路径
ls :列出目录里的内容
ls 或者ls ./ :查看当前目录下的内容
ls ../ :查看当前目录的上一级目录里的内容
ls /home:查看/home目录里的内容
-a:查看所有文件包含隐藏文件(.filename)
-l:以长格式方式列出来
-R:递归列出
-t:按照时间排序
-tr:反向排序
-h:查看文件大小
-m:将目录下的文件名用逗号隔开列出
touch :创建文件或者更改文件的时间戳
目标文件不存在:创建一个新的空的文件
touch file1
touch file1 file2 file3
touch file{1..5}.txt
touch {1,2}{a,b,c}
mkdir :创建一个目录(文件夹)
mkdir dir{1..3}
mkdir dir1 dir2
-p:级联创建多个目录
rm:删除文件或目录
rm filename
-f:强制删除 慎用
-r:删除非空目录
rmdir:删除空目录
cp:复制文件或目录
cp 需要拷贝的文件 拷贝到的目的地
cp ./file1 /home
cp ./file1 /home/test1
cp -r /home/uplook ../
-f:强制复制
-p:拷贝文件的属性信息
\cp file1 /home/ 当目标目录里有相同的文件时,直接覆盖掉不提示
scp:远程拷贝
-P:指定端口
-r:拷贝目录
情景一:将远程服务器上的某个文件拷贝到本地
情景二:将本地某个文件拷贝到远程服务器上
mv: 移动或者重命名
mv ./file1 /home
mv file1 test1
mv ./file1 /home/test1
查看文件的相关命令:
cat filename 一般查看小文件,从第一行到最后一行打印到屏幕
tac filename 一般查看小文件,从最后一行到第一行打印到屏幕
more filename 一般查看大文件,空格、上下箭头翻页 q退出 按“/”搜索
less filename 一般查看大文件,空格、上下箭头翻页 q退出 按“/”搜索
head filename 查看文件前10行
head -n filename
head -n 5 filename 查看文件的前n行
tail filename 查看文件的后10行
tail -n filename
tail -n 5 filename 查看文件的后n行
-f:动态查看
tail -100f filename
ldd 查看非普通文件(二进制文件)
history :历史记录
history -w 保存历史记录 默认到当前用户的家目录里的.bash_history
history -c 清空历史记录
export HISTTIMEFORMAT='%F %T' 显示时间戳(/etc/profile)
标准输入输出:
标准输入(stdin):键盘上的输入 文件描述符(0)
标准输出(stdout):屏幕上所输出的正确结果 文件描述符(1)
标准错误(stderr):屏幕上所输出的错误结果 文件描述符(2)
>:重定向
<:输入
>>:追加
/dev/null:Linux中一个特殊设备文件,无底洞
# ./test.sh 1>/log1 2>/log2
# ./test.sh >>/log3
# ./test.sh >/log1.txt 2>&1 --将正确的和错误的结果保存到同一个文件中
#./test.sh &>/log1.txt
#cat >file1 #cat >file3 创建一个新的文件file3,内容自己输入 hello haha ctrl+d结束输入 echo :将输入的字符串送往标准输出,默认输出一个换行符\n -n:不输出换行符 -e:解释转义字符 -E:不解释转义字符 # echo -e 'a\tb\tc' a b c # echo 'a\tb\tc' a\tb\tc # echo "a\tb\tc" a\tb\tc # echo a\nb\nc anbnc # echo -e 'a\nb\nc' a b c # echo -E 'a\nb\nc' a\nb\nc # echo hahahahah > file3 创建一个新的非空文件 # >file3 清空文件内容 Linux下获取帮助 帮助文档(help|info|man) help 简约帮助 info 软件介绍 man 全面的帮助手册 内部命令求帮助:help + 内部命令 外部命令求帮助:外部命令 + --help type命令来区分是外部还是内部命令 enable既可以查看内部命令,同时也可以判断是否为内部命令 # enable -a --查看内部命令 # enable which --非内部命令 -bash:enable:which:not a shell builtin # enable pwd #是内部命令 find: 精确查找,磁盘搜索,io读写,cpu资源 find 路径 选项 [可选 -exec 或者 -ok command ] 空格\; 路径:查找的路径 选项: -name:按照名字查找,可以使用通配符 -iname:忽略大小写按照名字查找 -type:按照文件类型查找 f d b c -size:按照文件的大小查找 +1M -1M 1M -perm:按照文件权限查找 777 -atime:按照文件的访问时间查找 -mtime:按照文件的修改时间查找 -n n天以内 +n n天以前 n n当天 -ctime:按照文件的创建时间查找