最近在初步学习如何搭建一个简单的后台,因此重新学习一下Linux基础操作;
概念:Linux是开源的、免费的操作系统,稳定性、安全性与并发性得到业界公认,是一个统称,常见的CentOS、Rethat、、、、主要有两个方向:Linux管理员(对系统管理)、Linux程序员(在系统之上进行开发):Linux软件工程师和Linux嵌入开发。
阶段可以分为四个阶段:1、Linux平台开发,基本操作,包括vi、gcc、gdb、jdk、mysql..等;2、学习C语言、JAVA等;3、学习UNIX编程;4、Linux软件开发、Linux嵌入式开发;
第一、特点
- 开源、免费;
- 多线程、多用户;
- 安全性好;
- 对内存和文件管理优越。
- Linux最小只需要4M;
- 操作相对困难;
第二、历程
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也开发桌面、中国开发红旗、;
- 1999年,IBM宣布与Redhat建立伙伴关系;
- 2000年,Sun公司在Linux压力下降低Solaris8售价;
- 2001年IBM投入10亿美元扩大Linux系统运用,8月红色代码爆发,许多站点转向Linux;
- 2002年宣布Linux系统支持64位计算机;
- 2003年1月,NEC宣布在手机中使用Linux,代表Linux进军手机领域;
- 2004年6月世界500强中使用Linux的占到280席,IBM准备退出OpenPower服务器,仅支持Linux系统;
第三、命令行《 约瑟夫问题
》
vi
- 关机 shutdown -h row 现在关机
- 重启 shutdown -r row / reboot;
- 尽量用普通用户,可以用
sudo -
切换管理员操作; - 注销用户
logout
; - vi编辑器开发者<黑客之王>
- Linux可以直接开发Java、C程序、C++程序;
Java编译:javac Hello.java;运行:java Hello/c语言创建:vi Hello.cpp 编译到指定文件:gcc -o 文件名 Hello.cpp 运行:./文件.out
目录
- /:
/
存放root用户的相关文件;# cd /
- /home:存放普通用户相关文件的目录;
- /bin:存放常用命令的目录;
- /sbin:具有一定权限才可以使用的命令;
- /mnt:装置文件系统的加载点,默认挂载光驱、软驱的目录;
- /etc:存放配置相关的文件,如:MySQL配置、中文配置、用户权限等等;
- /var:存放经常变化的数据,如:MySQL临时文件,关闭就没了;
- /boot:存放引导相关的文件,如果删了系统就毁了;
- /usr:安装文件的默认安装的目录;
- /dev:接口设备文件目录,如had表示硬盘;
- /proc:目前系统核心与程序执行的信息。
命令
- 显示当前目录的路径:
# pwd
; - cd 改变目录;
- ls 列出文件和目录
- ls -a 显示所有文件包括隐藏文件
- 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 ...
命令行(一)用户命令
- 添加用户:
useradd testName
,之后会在/home下有testName用户文件夹; - 设置密码跟上用户名:
passwd testName
; - 删除用户保留文件夹:
userdel testName
; - 删除用户及用户的目录:
userdel -r testName
; - 以某一个用户身份登陆:
su testName
;
命令行(二) > r m 删除
- 格式:rm [选项] 目录...
- 参数
-d --directory 删除可能仍有数据的目录 (只限超级用户)
-f --force 忽略不存在的文件,从不给出提示;
-i --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
- rm -rf 强行删除目录
- rm -r 删除文件
命令行(三) mkdir 创建文件夹
文件权限:-rwx r—— -xr
第一位代表文件类型,分为3组3个权限,第一部分位为文件持有者的权限,第二部分为文件持有者所在组队文件操作的权限,第三部分为其他用户对文件的操作的权限 读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;
- -m, --mode=模式,设定权限<模式> (类似 chmod),mkdir -m 777 test1
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 mkdir -p test2/test22;
- -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 罗列
- 常用参数:
-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 显示版本信息并离开
命令行(六) |
管道命令
- 把执行命令的结果交给
|
后面的命令处理; - 例子: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
- 类似于help;
- 使用:#man cp[命令]
命令行(十一) find
- find / -name
更多精彩内容请关注“IT实战联盟”哦~~~