Linux基础学习 (一)

最近在初步学习如何搭建一个简单的后台,因此重新学习一下Linux基础操作;

概念:Linux是开源的、免费的操作系统,稳定性、安全性与并发性得到业界公认,是一个统称,常见的CentOS、Rethat、、、、主要有两个方向:Linux管理员(对系统管理)、Linux程序员(在系统之上进行开发):Linux软件工程师和Linux嵌入开发。

阶段可以分为四个阶段:1、Linux平台开发,基本操作,包括vi、gcc、gdb、jdk、mysql..等;2、学习C语言、JAVA等;3、学习UNIX编程;4、Linux软件开发、Linux嵌入式开发;

第一、特点
  1. 开源、免费;
  2. 多线程、多用户;
  3. 安全性好;
  4. 对内存和文件管理优越。
  5. Linux最小只需要4M;
  6. 操作相对困难;
第二、历程

1960年麻省理工可以30个人同时使用计算机,1965年火星计划--计划300人共同使用,1969年火星计划失败,贝尔实验室Ken tompson(C语言设计者)利用火星代码开发了一个file server system并受好评;Ken tompson与Dennis richres经过4年,1973年开发出一个系统UNIX系统并开源,随后在Unix基础之上IBM开发出aiz、sun公司开发Solaris、HP开发HP unix、伯克利分校开发bsd、minix等都需要安装在特定的电脑上;

1991年芬兰的研究生Linus希望将minix移植到pc上,1994年发布Linux的1.0版本开源无桌面,随后Redhat再Linux基础之上开发软件、桌面等开始收费、s.u.s.c也开发桌面、中国开发红旗、;

  1. 1999年,IBM宣布与Redhat建立伙伴关系;
  2. 2000年,Sun公司在Linux压力下降低Solaris8售价;
  3. 2001年IBM投入10亿美元扩大Linux系统运用,8月红色代码爆发,许多站点转向Linux;
  4. 2002年宣布Linux系统支持64位计算机;
  5. 2003年1月,NEC宣布在手机中使用Linux,代表Linux进军手机领域;
  6. 2004年6月世界500强中使用Linux的占到280席,IBM准备退出OpenPower服务器,仅支持Linux系统;
第三、命令行《 约瑟夫问题
vi
  1. 关机 shutdown -h row 现在关机
  2. 重启 shutdown -r row / reboot;
  3. 尽量用普通用户,可以用sudo -切换管理员操作;
  4. 注销用户logout
  5. vi编辑器开发者<黑客之王>
  6. Linux可以直接开发Java、C程序、C++程序;Java编译:javac Hello.java;运行:java Hello/c语言创建:vi Hello.cpp 编译到指定文件:gcc -o 文件名 Hello.cpp 运行:./文件.out
目录
  1. /:/ 存放root用户的相关文件;# cd /
  2. /home:存放普通用户相关文件的目录;
  3. /bin:存放常用命令的目录;
  4. /sbin:具有一定权限才可以使用的命令;
  5. /mnt:装置文件系统的加载点,默认挂载光驱、软驱的目录;
  6. /etc:存放配置相关的文件,如:MySQL配置、中文配置、用户权限等等;
  7. /var:存放经常变化的数据,如:MySQL临时文件,关闭就没了;
  8. /boot:存放引导相关的文件,如果删了系统就毁了;
  9. /usr:安装文件的默认安装的目录;
  10. /dev:接口设备文件目录,如had表示硬盘;
  11. /proc:目前系统核心与程序执行的信息。
命令
  1. 显示当前目录的路径:# pwd;
  2. cd 改变目录;
  3. ls 列出文件和目录
  4. ls -a 显示所有文件包括隐藏文件
  5. ls -l 显示长列表格式;
运行级别:
0:关机,打开就关机;
1:单用户,类似window的安全模式,无网、且链接不上;
2:多用户状态且没有网络服务;
3:#多用户状态有网络服务#,进入Linux mini就是这个级别;
4:系统未使用保留给用户;
5:#图形界面#;
6:系统重启;

更改用户权限在:/etc/inittab目录下更改,如果设置为6将无限重启,解决方法:在进入grub<启动时>输入`e`,在选中第二行再输入`e`,进入修改页面输入`1`,进入单用户级别<只有单用户级别启动时不查看/etc/inittab>,更改/etc/inittab 为3就好,设置密码就直接覆盖旧的密码,passwd 用户名
centos 7中 /etc/inittab有提示systemctl set-default ...

命令行(一)用户命令
  1. 添加用户:useradd testName,之后会在/home下有testName用户文件夹;
  2. 设置密码跟上用户名:passwd testName
  3. 删除用户保留文件夹:userdel testName
  4. 删除用户及用户的目录:userdel -r testName;
  5. 以某一个用户身份登陆:su testName;
命令行(二) > r m 删除
  1. 格式:rm [选项] 目录...
  2. 参数
-d --directory    删除可能仍有数据的目录 (只限超级用户)
-f --force    忽略不存在的文件,从不给出提示;
-i --interactive 进行交互式删除
-r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose    详细显示进行的步骤
--help     显示此帮助信息并退出
--version  输出版本信息并退出
  1. rm -rf 强行删除目录
  2. rm -r 删除文件
命令行(三) mkdir 创建文件夹

文件权限:-rwx r—— -xr 第一位代表文件类型,分为3组3个权限,第一部分位为文件持有者的权限,第二部分为文件持有者所在组队文件操作的权限,第三部分为其他用户对文件的操作的权限 读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;

  1. -m, --mode=模式,设定权限<模式> (类似 chmod),mkdir -m 777 test1
  2. -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 mkdir -p test2/test22;
  3. -v, --verbose 每次创建新目录都显示信息 mkdir -vp test3/test33;
命令行(四) cp 拷贝

1.命令格式:

用法:
cp [选项]... [-T] 源 目的
或:cp [选项]... 源... 目录
或:cp [选项]... -t 目录 源...

2.命令功能:
将源文件复制至目标文件,或将多个源文件复制至目标目录。

3.命令参数:

-a, --archive    等于-dR --preserve=all
    --backup[=CONTROL    为每个已存在的目标文件创建备份
-b                类似--backup 但不接受参数
   --copy-contents        在递归处理是复制特殊文件内容
-d                等于--no-dereference --preserve=links
-f, --force        如果目标文件无法打开则将其移除并重试(当 -n 选项
                    存在时则不需再选此项)
-i, --interactive        覆盖前询问(使前面的 -n 选项失效)
-H                跟随源文件中的命令行符号链接
-l, --link            链接文件而不复制
-L, --dereference   总是跟随符号链接
-n, --no-clobber   不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference   不跟随源文件中的符号链接
-p                等于--preserve=模式,所有权,时间戳
    --preserve[=属性列表   保持指定的属性(默认:模式,所有权,时间戳),如果
               可能保持附加属性:环境、链接、xattr 等
-R, -r, --recursive  复制目录及目录内的所有项目

4.命令实例:

实例一:复制单个文件到目标目录,文件在目标文件中不存在
命令:
cp log.log test5
说明:
在没有带-a参数时,两个文件的时间是不一样的。在带了-a参数时,两个文件的时间是一致的。

实例二:目标文件存在时,会询问是否覆盖
命令:
cp log.log test5

说明:
目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。

命令行(五) ls 罗列
  1. 常用参数:

-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-c  配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
-C 每栏由上至下列出项目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
-d, –directory 将目录象文件一样显示,而不是显示其下的文件。
-D, –dired 产生适合 Emacs 的 dired 模式使用的结果
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-g 类似 -l,但不列出所有者
-G, –no-group 不列出任何有关组的信息
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 类似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
–indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
-i, –inode 印出每个文件的 inode 号
-I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-o 类似 -l,显示文件的除组信息外的详细信息。   
-r, –reverse 依相反次序排列
-R, –recursive 同时列出所有子目录层
-s, –size 以块大小为单位列出所有文件的大小
-S 根据文件大小排序
–sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
-t 以文件修改时间排序
-u 配合 -lt:显示访问时间而且依访问时间排序
配合 -l:显示访问时间但根据名称排序
否则:根据访问时间排序
-U 不进行排序;依文件系统原有的次序列出项目
-v 根据版本进行排序
-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名排序
-1 每行只列出一个文件
–help 显示此帮助信息并离开
–version 显示版本信息并离开


命令行(六) | 管道命令
  1. 把执行命令的结果交给|后面的命令处理;
  2. 例子:ls -a /etc | more
命令行(七) more

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

1.命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 

2.命令功能:

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

3.命令参数:

+n      从笫n行开始显示
-n       定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  
-c       从顶部清屏,然后显示
-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l        忽略Ctrl+l(换页)字符
-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s       把连续的多个空行显示为一行
-u       把文件内容中的下画线去掉

4.常用操作命令:

Enter    向下n行,需要定义。默认为1行
Ctrl+F   向下滚动一屏
空格键  向下滚动一屏
Ctrl+B  返回上一屏
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令 
q       退出more

5.命令实例:

实例1:显示文件中从第4行起的内容
more +4 file.log
实例2:列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,每页显示5个文件信息 
命令:
ls -l  | more -5

命令行(八) grep

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式
grep [options]

命令行(九) less
命令行(十) man
  1. 类似于help;
  2. 使用:#man cp[命令]
命令行(十一) find
  1. find / -name

更多精彩内容请关注“IT实战联盟”哦~~~


Linux基础学习 (一)_第1张图片
IT实战联盟.jpg

你可能感兴趣的:(Linux基础学习 (一))