技术笔记:linux学习心得

简介: 技术笔记:linux学习心得

  1.学习心得


linux主要应用于服务器操作系统,windows则应用于桌面操作系统


linux系统的主要优点是相对安全,稳定,免费


Linux抛弃了图形操作系统,把有限的资源更多的用在了应用软件上


linux是一个命令行组成的操作系统,可以说命令是学习linux系统的基础,学习linux很大程度就是学习命令


  2.Linux的发展史


l 1965 年左后由贝尔实验室加入了 麻省理工学院 以及 通用电气 合作的计划 —— 该计划要建立一套 多使用者(multi-user)、 多任务(multi-processor) 、 多层次(multi-level) 的 MULTICS 操作系统,想让大型主机支持 300 台终端


l 1969 年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究


l 1969 年从这个项目中退出的 Ken Thompson 当时在实验室无聊时,为了让一台空闲的电脑上能够运行 "星际旅行(Space Travel)" 游戏,在 8 月份左右趁着其妻子探亲的时间, 用了 1 个月的时间 ,使用汇编写出了 Unix 操作系统的原型


l 1970 年,美国贝尔实验室的 Ken Thompson ,以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言 (取BCPL的首字母),并且他用 B 语言 写了第一个 UNIX 操作系统


l 1971 年,同样酷爱 "星际旅行(Space Travel)" 的 Dennis M.Ritchie 为了能早点儿玩上游戏,加入了 Thompson 的开发项目,合作开发 UNIX,他的主要工作是改造 B 语言 ,因为 B 语言 的跨平台性较差


l 1972 年, Dennis M.Ritchie 在 B 语言 的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言


l 1973 年初, C 语言 的主体完成, Thompson 和 Ritchie 迫不及待地开始用它完全重写了现在大名鼎鼎的 Unix 操作系统


  3.centos6与centos7的区别


3.1 文件系统


Centos6.x:EXT4


Ext4的单个文件系统容量可以达到1EB,单个文件的大小可以达到16TB


Centos7.x:XFS


XFS默认支持的系统容量大小8EB减去1个字节的容量,最大支持的文件大小是9EB,


最大支持的文件系统尺寸是18EB


3.2 防火墙、内核版本、默认的数据库


Centos6.x


防火墙:iptables


内核版本:2.6


默认的数据库:Mysql


Centos7.x


防火墙:firewalld


内核版本:3.10


默认安装的数据库:MariaDB


3.3 时间同步命令、修改时区、修改语言


Centos6.x:


时间同步:ntpq -q


修改时区:vim /etc/sysconfig/clock


修改语言:vim /etc/sysconfig/i18n


Centos7.x:


时间同步:chronyc sources


修改时区:timedatectl set-timezone Asia/Shanghai


修改语言:localectl set-locale LANG=zh_CN.UTF-8


3.4 修改主机名


Centos6.x


修改的配置文件/etc/sysconfig/network 中的HOSTNAME (修改完成后永久成效)


Centos7.x (永久生效)


方式一:配置文件/etc/hostname 直接编辑vim /etc/hostname


方式二:采用命令的方式:hostnamectl sethostname 主机名


3.5 网络服务的管理方式


操作行为


Centos6.x


Centos7.x


启动服务


service 服务名 start


systemctl start 服务名


停止服务


service 服务名 stop


systemctl stop 服务名


查看服务状态


service 服务名 status


systemctl status 服务名


重启服务


service 服务名 restart


systemctl restart 服务名


设置服务的开机自启


chkconfig 服务名称 on


systemctl enable 服务名称


设置服务的开机非自启


chkconfig 服务名称 off


systemctl disable 服务名称


查看所有服务的自启状态


chkconfig --list


systemctl list-unit-files


3.6 网络设置的变化


名称


Centos6.x


Centos7.x


网卡名称


ifcfg-eth0


ifcfg-ens33


网络配置的命令


ifconfig


ip


网络服务


network服务


NetworkManager服务


3.7 yum的区别


Centos6.x:默认情况下会从国外的镜像源网站获取安装包,比较慢,如果想安装下载快的话,需要去修改CentOS6-Base.repo ,使用CentOS6-Base-163.repo替换。


Centos7.x版本中:就近原则,从离得比较近的镜像源服务器获取安装包并下载安装


  4.常用命令


man命令


man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。


man(选项)(参数):


    -a:在所有的man帮助手册中搜索;


    -f:等价于whatis指令,显示给定关键字的简短描述信息;


    -P:指定内容时使用分页程序;


    -M:指定man手册搜索的路径。


grep 命令


在文件中查找字符串(不区分大小写):grep -i "the" demo_file 。


输出成功匹配的行,以及该行之后的三行:grep -A 3 -i "example" demo_text 。


在一个文件夹中递归查询包含指定字符串的文件:grep -r "ramesh"


find命令


  如何在 /var 目录下找出 90 天之内未被访问过的文件?


输入命令:find /var ! -atime -90 。


  如何在 /home 目录下找出 120 天之前被修改过的文件?


输入命令:find /home -mtime +120 。


  在整个目录树下查找文件 “core” ,如发现则无需提示直接删除它们?


输入命令:find / -name core -exec rm {} \; 。


rm命令


删除文件前先确认:rm -i filename.txt 。


在文件名中使用 shell 的元字符会非常有用。删除文件前先打印文件名并进行确认:rm -i file


递归删除文件夹下所有文件,并删除该文件夹:rm -r example 。


mkdir 命令


在 home 目录下创建一个名为 temp 的目录:mkdir ~/temp 。


使用 -p 选项可以创建一个路径上所有不存在的目录:mkdir -p dir1/dir2/dir3/dir4/ 。


less 命令


这个命名可以在不加载整个文件的前提下显示文件内容,在查看大型日志文件的时候这个命令会非常有用:


    less huge-log-file.log 。


当你用 less 命令打开某个文件时,下面两个按键会给你带来很多帮助,他们用于向前和向后滚屏:


    CTRL+F - forward one window


    CTRL+B -backward one window


chmod 命令


chmod 用于改变文件和目录的权限。


给指定文件的属主和属组所有权限(包括读、写、执行):chmod ug+rwx file.txt 。


删除指定文件的属组的所有权限:chmod g-rwx file.txt 。


修改目录的权限,以及递归修改目录下面所有文件和子目录的权限:chmod -R ug+rwx file.txt 。


tar 命令


创建一个新的 tar 文件: tar cvf archive_name.tar dirname/ 。


解压 tar 文件:tar xvf archive_name.tar 。


查看 tar 文件:tar tvf archive_name.tar 。


系统命令


1.ps命令


任务管理器:ps -ef 查看当前所有进程(包括执行ps命令的那个时刻进程信息)


格式:ps 【参数】


-e 此参数的效果和指定“A”参数相同,显示所有程序


-f 显示UID,PPIP,C与STIME栏位


例如:ps -ef | grep -i mysql 过滤出mysql这个进程


2.kill命令


kill功能:删除执行中的程序或工作


语法:kill【参数】【程序】


-l 若不加选项,则-l参数会列出全部的信息名称。


kill -9 :表示强制终止


格式:kill -9 pid


可先通过ps -ef 查找出所要删除的进程pid,再通过kill -9 pid 终止进程


3.ifconfig命令


功能:显示网络设备


格式:ping 主机名或ip地址 (按ctrl+c停止ping)


  5.一些面试题


说明:在ABCD中加黑的部分为正确答案。


1. cron 后台常驻程序 (daemon) 用于:


A. 负责文件在网络中的共享


B. 管理打印子系统


C. 跟踪管理系统信息和错误


D. 管理系统日常任务的调度


2. 在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ?


A. 串行口


B. 硬盘


C. 虚拟终端


D. 打印机


3. 下面哪个Linux命令可以一次显示一页内容?


A. pause


B. cat


C. more


D. grep


4. 怎样了解您在当前目录下还有多大空间?


A. Use df


B. Use du /


C. Use du .


D. Use df .


5. 怎样更改一个文件的权限设置?


A. attrib


B. chmod


C. change


D. file


6. 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) ,您可以执行:


A. rpm -q /etc/my.conf


B. rpm -requires /etc/my.conf


C. rpm -qf /etc/my.conf


D. rpm -q | grep /etc/my.conf


7. 假如当前系统是在 level 3 运行,怎样不重启系统就可转换到 level 5 运行?


A. Set level = 5


B. telinit 5


C. run 5


D. ALT-F7-5


8. 那个命令用于改变 IDE 硬盘的设置?


A. hdparam


B. ideconfig


C. hdparm


D. hddparm


9. 下面哪个命令可以列出定义在以后特定时间运行一次的所有任务?


A. atq


B. cron


C. batch


D. at


10.下面命令的作用是:set PS1="【\u\w\t】\$" ; export PS1


A. 改变错误信息提示


B. 改变命令提示符


C. 改变一些终端参数


D. 改变辅助命令提示符


11.作为一个管理员,你希望在每一个新用户的目录下放一个文件 .bashrc ,那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。


A. /etc/skel/


B. /etc/default/


C. /etc/defaults/


D. /etc/profile.d/


12.在bash中,export命令的作用是:


A. 在子shell中运行命令


B. 使在子shell中可以使用命令历史记录


C. 为其它应用程序设置环境变量


D. 提供NFS分区给网络中的其它系统使用


13.在使用了shadow口令的系统中,/etc/passwd和/etc/shadow两个文件的权限正确的是:


A. -rw-r----- , -r-----//代码效果参考:http://www.jhylw.com.cn/042736459.html

---

B. -rw-r--r-- , -r--r--r--


C. -rw-r--r-- , -r--------


D. -rw-r--rw- , -r-----r--


14.下面哪个参数可以删除一个用户并同时删除用户的主目录?


A. rmuser -r


B. deluser -r


C. userdel -r


D. usermgr -r


15.有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行一次,下面哪条crontab的项可以完成这项工作?


A. 0 13,20 1,5 mybackup


B. 0 13,20 1,2,3,4,5 mybackup


C. 13,20 1,2,3,4,5 mybackup


D. 0 13,20 1,5 * mybackup


16.如何从当前系统中卸载一个已装载的文件系统


A. umount


B. dismount


C. mount -u


D. 从 /etc/fstab 中删除这个文件系统项


17.如果你的umask设置为022,缺省的你创建的文件的权限为:


A. ----w--w-


B. -w--w----


C. r-xr-x---


D. rw-r--r--


18.在一条命令中如何查找一个二进制命令 Xconfigurator 的路径?


A. apropos Xconfigurator


B. find Xconfigurator


C. where Xconfigurator


D. which Xconfigurator


19.哪一条命令用来装载所有在 /etc/fstab 中定义的文件系统?


A. amount


B. mount -a


C. fmount


D. mount -f


20.运行一个脚本,用户不需要什么样的权限?


A. read


B. write


C. execute


D. browse on the directory

相关文章
|
1月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
1月前
|
存储 安全 Linux
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
176 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
4天前
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
29 8
|
1月前
|
Linux Shell 数据安全/隐私保护
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
116 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。
164 1
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
107 0
|
7月前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗