共计 3306 个字符,预计需要花费 9 分钟才能阅读完成。
本文首发于: 行者 AI
Linux 在设计之初,就是基于 Intel x86 系列 CPU 架构计算机的,它是一个基于 POSIX 的多用户、多任务并且反对多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 零碎的目标就是建设不受任何商业化软件版权制约的、全世界都能自在应用的类 Unix 操作系统兼容产品。
1. Linux 的那些往事
Linux 内核最后是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,过后他感觉教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定本人开发一个操作系统。第 1 版本于 1991 年 9 月公布,过后仅有 10000 行代码。
李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请别人一起欠缺 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 凋谢源代码,任何人都能够收费应用它。
据估计,当初只有 2% 的 Linux 外围代码是由李纳斯•托瓦兹本人编写的,尽管他依然领有 Linux 内核(操作系统的外围局部),并且保留了抉择新代码和须要合并的新办法的最终裁定权。当初大家所应用的 Linux,我更偏向于说是由李纳斯•托瓦兹和起初陆续退出的泛滥 Linux 好者共同开发实现的。
李纳斯•托瓦兹无疑是这个世界上最平凡的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。
对于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅。
为什么抉择企鹅,而不是抉择狮子、老虎或者小白兔?有人说因为李纳斯•托瓦兹是芬兰人,所以抉择企鹅,有人说因为其余动物图案都被用光了,李纳斯•托瓦兹只好抉择企鹅。
我更违心置信以下说法,企鹅是南极洲的标志性动物,依据国际公约,南极洲为全人类独特所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其幅员。Linux 抉择企鹅图案作为 Logo,其含意是:凋谢源代码的 Linux 为全人类独特所有,任何公司无权将其公有。
2. 罕用的 Linux 命令
上面将会向大家分享一些会常常用到的 Shell 命令
(1)cd - 更改文件目录命令
# 切换到主目录
cd
# 切换到主目录
cd ~
# 切换到目录 /tmp
cd /tmp
# 切换到当前目录的 dir 目录
cd dir
# 切换到根目录
cd /
# 切换到上一级目录
cd ..
# 切换到二级目录
cd ../..
# 切换到主目录,例如是 root 用户,则切换到 /root 下
cd ~
(2)ls - 展现当前目录下文件命令
# 显示当前目录文件
ls
# 给出当前目录下所有文件的一个长列表,包含以句点结尾的“暗藏”文件
ls -la
# 列出当前目录下以字母 a 结尾的所有文件
ls a*
# 给出当前目录下以.doc 结尾的所有文件
ls -l *.doc
(3)pwd - 查看以后所在门路
# 查看本人以后所在门路
pwd
(4)cp - 文件复制命令
应用 cp 命令须要指定文件夹或进入须要操作的文件夹下进行操作
# 把文件 a 复制为新文件 a.apk
cp a a.apk
# 把文件 afile 从当前目录复制到 /home/bible/ 目录下
cp afile /home/bible/
# 把当前目录下的所有未暗藏文件复制到 /tmp/ 目录下
cp * /tmp
# 递归性地把当前目录下的 docs 目录复制为新目录 docs.bak, 放弃文件属性,并复制所有的文件,包含以句点结尾的暗藏文件。为了不便起见,- a 选项蕴含 - R 选项
cp -a docs docs.bak
# 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
cp -r
(5)find - 查找文件命令
# 在当前目录中查找 rpm 包
find .-name *.rpm
# 在当前目录及其子目录中查找文件名蕴含 page 的文件
find .|grep page
# 在零碎的任何中央查找文件名蕴含 traceroute 的文件
locate traceroute
(6)grep - 搜寻文件内容命令
# 在文件 exports 中查找蕴含 bible 的所有行
grep bible /etc/exports
# 在 WEB 服务器日志文件 access.log 的后 100 行中查找蕴含“404”的行
tail -100 /var/log/apache/access.log|grep 404
# 在 WEB 服务器日志文件 access.log 的后 100 行中,查找没有被 google 拜访的行
tail -100 /var/log/apache/access.log|grep -v googlebot
# 在主 apache 配置文件中,查找所有非正文行
grep -v ^# /etc/apache2/httpd.conf
(7)mkdir - 新建目录命令
# 在当前目录中建设名为 photos 的目录
mkdir photos
# 在当前目录下建设指定的嵌套子目录
mkdir -p this/that/theother
(8)touch - 创立一个空的文件
# 创立一个空文件,文件名为 aaa.txt
touch aaa.txt
(9)rm - 删除文件命令
# 删除文件 a
rm a
# 删除当前目录下的所有文件(未暗藏文件)。rm 命令不删除目录,除非也指定了 -r(递归) 参数。rm *
# 删除 domed 目录以及它所蕴含的所有内容
rm -rf domed
# 删除当前目录下所有以字母 a 结尾的文件,并且在每次删除时,提醒用户进行确认
rm -i a*
(10)vi - 编辑文件
# 用 vi 编辑文件 /etc/bubby.txt
vi /etc/bubby.txt
# 用 vim 编辑文件 /etc/bubby.txt
vim /etc/bubby.txt
# 快捷操作:切换窗口:alt+1,alt+2
全屏:alt+ 回车
# 将 vim 挂起(暂停):ctrl+z,暂停后可进行其余 shell 操作,完了之后可通过 fg 命令切换回 vim 界面持续编辑
:MR 查看历史文件记录(留神:MR 大写):sp 横向切换界面窗口
:vsp 纵向切换界面窗口 不便多文件对照编码 emacs /etc/bubby.txt 用 emacs 编辑文件 /etc/bubby.txt
(11)date- 零碎日期设定
# 设置零碎期间为 2006 年 5 月 20 日 6 点整。date -s“060520 06:00:00″
(12)reboot,shutdown - 敞开和重启计算机
# 重新启动计算机
reboot
# 重新启动计算机,进行服务后重新启动计算机
shutdown -r now
# 敞开计算机,进行服务后再关闭系统
shutdown -h now
# 敞开计算机
halt
# 个别用 shutdown -r now, 在重启零碎时,敞开相干服务,shutdown -h now 也是如此。
(13)df – 显示磁盘空间应用状况
# 显示指定文件所在分区的磁盘应用状况
df /etc/dhcp
# 显示文件类型为 ext4 的磁盘应用状况
df -t ext4
(14)gzip - 压缩和解压文件
# 把当前目录下的每个文件压缩成.gz 文件
gzip *
# 把上例中每个压缩的文件解压,并列出具体的信息
gzip -dv *
# 递归地解压目录
gzip -dr rancher.gz
(15)zip - 压缩文件
# 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
zip -q -r html.zip /home/html
# 压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c
# 把 /home 目录上面的 mydata 目录压缩为 mydata.zip
zip -r mydata.zip mydata
# 把 /home 目录上面的 abc 文件夹和 123.txt 压缩成为 abc123.zip
zip -r abc123.zip abc 123.txt
# 将 logs 目录打包成 log.zip
zip -r log.zip ./logs
3. 结语
在过来的几十年里,Linux 零碎次要被利用于服务器端、嵌入式开发和 PC 桌面 3 大畛域,其中服务器端畛域是重中之重。例如,咱们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在应用 Linux 零碎作为其服务器端的程序运行平台,寰球及国内排名前 1000 的 90% 以上的网站应用的支流零碎都是 Linux 零碎。而咱们在测试工作中也或多或少的会接触到一些 Linux 命令,纯熟的应用 Linux 命令能够让咱们在应用 windows 零碎的 dos 命令时更加纯熟。