Linux

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:按照文件的创建时间查找

你可能感兴趣的:(Linux)