Linux入门基本指令
来源:互联网 发布:软件专业就业工资 编辑:程序博客网 时间:2024/05/22 03:25
Linux区分大小写,所有内容以文件的形式保存呢,包括硬件。补考扩展名区分文件。靠扩展名。
图形界面不稳定,多了界面程序就多了相应的服务,增加了被攻击的可能性。
字符界面占用的资源少。
格式化的目的就是写入文件系统,先将分区分成大小相同的数据块block,再生成一张相对于的索引表。
文件系统,windows FAT16 单个文件大小为2G
FAT32 单个文件大小为4G
Linux etx3 etx4
根目录下和usr目录下都有bin和sbin目录,这四个目录都是用来保存系统命令的,其中bin是普通用户的命令,sbin是root用户的。
各个目录的作用
/boot 存放内核和启动所需的文件
/dev 存放设备文件
/etc 存放系统配置文件
/home 用户文件的主目录。(用户文件存放在其主目录)
/lib 存放必备的运行库
/mnt 存放临时映射文件系统。我们常把软驱和光驱挂载在这里面的子目录下
/sym /proc 存放存储进程和系统命令
/root 超级用户的主目录
/tmp 存放临时目录
/var 包含系统产生经常变化的文件
/usr 包含一般不需要修改的应用程序和其他文档
/lost+found 用作分区数据修复,每个独立的分区都有
/root/insatll.log 存放了安装在系统中的软件包及其版本信息
/root/anaconda-ks.cfg 记录了安装配置。(网络批量安装,如果有10000台电脑,那么只要配置一台就好了,其余的依靠这个文件配置)
[root@localhost ~]#
root指的是当前的登陆用户
Localhost指的是主机名
~指的是当前所在的目录
#指的是当前用户是管理员
$指的是普通用户
操作文件目录相关指令 各个可选项可以结合使用如:ls -laih 人性化显示隐藏文件的详情
ls: list 列出当前目录下的文件
ls -l:查看所有文件详情
ls -a:显示隐藏文件
ls -i:显示文件的inode
ls -d:查看目录属性
ls -lh:人性化显示 (文件的大小)
文件类型
当用ls -l的时候,会发现第一列是这样的 -rw-r--r--,这就是文件的权限,默认占10位。
第一位:-代表的是文件 d代表的是目录 l代表的是链接文件
其他9位每三位分为一组,第一组是所有者对该文件的权限,第二组是所属组对该文件的权限,第三组是其他人对该文件的权限。
cd ~ 进入当前的家目录
cd - 进入上一次的目录
cd .. 返回上一级
cd . 当前目录
建立目录
mkdir 目录名 make diretcory
建立两个新目录(目录下又有目录,而且两个都不存在)
mkdir -p /abc/bcd
删除目录 remove directory
rmdir 空目录 (不常用)
常用的
rm 文件 (会问你真的删除吗?)
rm -f 文件 (不会问) -f是强制的意思
rm -rf 目录
复制 copy
cp 文件 目的地
cp -r 目录 目的地
cp -a 文件 目的地
-a指的是源文件与目标文件完全一样,时间都一样
剪切 move
mv 源文件(目录) 目的地
如何是在相同的目录下就是改名字
创建文件
touchu 文件名 创建了一个空的文件
vim 文件名 进入了vim的编辑器
vim + 文件名 打开文件后把光标定位到最后一行
vim +3 文件名 打开文件后把光标定位到最后3行
vim +/xxx 文件名 打开文件后把光标定位到第一次出现xxx的哪行
vim 文件名1 文件名2 同时打开或创建多个文件
Visual interface (vi)
该编辑器分为三种模式
命令模式 command mode 等待用户输入命令(复制 剪切)进入vim下面的默认模式
输入模式 inster mode 等待用户输入
低行模式 lastline mode 等待输入保存 退出等指令
命令模式下的指令
光标左移 h 光标右移 l 光标上移 k 光标下移 j
下翻页ctrl+f 上翻页ctrl+b 下翻半页ctrl+d 上翻半页ctrl+u
删除光标所在行 dd
复制光标所在行 yy
在光标下行粘贴 p
在光标上行粘贴 P
在光标所在行的下方插入一行,并进入输入模式 o
进入输入模式 i
低行模式下的命令 按Esc进入
:w 保存
:q 退出
:wq 保存并退出
:q! 不保存强制退出
:ls 列出当前打开的文件
:数字 光标快速定位到这行
/xxx 从光标开始找xxx
?Xxx 从光标开始向前找xxx
:n 下一个文件
:N 上一个文件
:prev 上一个文件
输出文件
cat 文件名
链接 link
硬链接 ln 源文件 目标文件
特征:拥有与源文件相同的数据块和inode,可以看做同一个文件
不能跨分区和对目录使用
改变任意一文件都会影响其他
删除任意一个文件,另一个文件不受影响
用作备份
软链接(soft) ln -s 源文件 目标文件
特征 :拥有自己独立的数据块与iNode
查找的时候首先会根据自己的inode找到相应的数据块,数据块里面记录着源文件的inode和名字,再根据源文件的inode找到数据块,获得内容。
删除了源文件就没用了,相当于快捷方式。
文件搜索
locate 文件名 可以模糊搜索
这样搜索效率高,因为他是按照/var/lib/mlocate中的数据库按文件名搜索
但是不能实时更新,也就是你当时创建了一个文件后,你不能马上locate出来,
但可以用updatedb强制更新这个数据库。
他的搜索规则是按照/etc/update.conf文件的规定。打开这个文件第一行有个yes,意思是下面的规则生效,规则规定了不搜索的文件系统,文件类型,路径。也就意味着有些目录是更新不出来的 比如 /tmp
find 范围 条件 文件名 避免大范围搜索 很慢
如 find / -name 文件名 在根目录下按文件名查找
条件 -exec ls {}\; 按条件查出来的结果给ls命令用-user 按用户查找
-nouser 按无用户文件查(垃圾文件)但是内核和外来设备光盘优盘 也会产生,proc和sys下的不要删
-iname 不区分大小写按名字查找
-mtime +10 10天前的文件 m按修改文件的内容
-ctime 10 第10天当天修改的文件 c按改变文件的属性
-atime -10 10天内修改的文件 a 按访问时间
-size +25k 大于25k的文件 小写k 大写M
-inum 按inode查找
-size +20k -a -size -50k 大于20k并且小于50k
。。。。。。。。。-o ......... 或者..........
不能模糊查询 但可以用通配符
find / -name “asd”*
双引号一定要有*代表任意内容 ?代表任意一个字符
[]任意一个人中括号内的字符
搜索命令的命令 查看命令所在位置和帮助文档所在的位置
whereis 命令
-b 只查可执行文件的位置
-m 只查帮助文档
whatis 命令 看这个命令是干嘛的
which 命令 多显示了别名 没有帮助文档
man 命令 获取该命令的帮助 比上面的详细 按q退出 按/-xxx查找xxx b n翻页
help 命令 只能获取内部命令 如cd
cd是shell自带的命令,用上面的只能找到外部安装的。当运行一个命令时,会去环境变量里面的文件目录里面找 $PATH
字符串搜索命令
grep “字符串” 文件名
-i 不区分大下写
-v 排除字符串
字符串可用正则表达式
压缩文件
.zip压缩
zip 压缩文件名.zip 源文件
-r 压缩目录
unzip 压缩文件 解压
.gz压缩
gzip 源文件 源文件会消失
-c 保留源文件
-r 压缩目录里面的所有文件 但不压缩目录
gzip -d 压缩文件 解压
gunzip 压缩文件 解压
.bz2压缩
bzip2 源文件 不保留源文件
-k 保留
-d 解压
bunzip2 解压文件
不能压缩目录
解决上面两个不能压缩目录的问题,将目录弄成tar包再压缩
tar -cvf 打包文件名 源文件 只是打包成了tar包
-c 打包
-v 显示过程
-f 指定打包后的文件
-xvf 解压
压缩成tar.gz
tar -zcvf 压缩文件名 源文件
-zxvf 解压
压缩成tar.z2
tar -jcvf 压缩文件名 源文件
-jxvf 解压
关机与重启
shutdown now 马上关机
-h 时间 到时间了就关机
-r 时间 就重启
-c 取消前一个关机命令
当输入这个命令后,系统就会执行,因此你不能继续输入命令,但只要加一个&j就可以了 如 shutdown -h 12:12 &
其他关机命令 都不常用 不安全
halt poweroff init 0
reboot init 6 重启命令
init 6 这个6指的是 系统运行级别
0 关机
1 单用户(如windows的启动安全模式 忘记密码可以用)
2 不完全多用户 不含nfs服务
3 完全多用户 就是当前操作的字符界面
4 未分配
5 图形界面
6重启
runlevel 查看当前运行的级别 显示 N--now 即从上一个级别到这个级别
/etc/inittab 里面的最后一行定义了系统的默认运行级别
退出登录命令 logout
当管理远程服务器的时候,如果登录人数有限制的话,你不退出,就会占了别人的登录
查看还有谁在登录 who
查看当前登录和过去登录的用户信息 last 读取的是/var/log/wtmp里面的数据,不能直接打开,是乱码
查看所有用户最后一次登录时间 lastlog 读取的是/var/log/lastlog里面的数据,
挂载
可以简单的理解为分配盘符,而盘符只是windows的说法,linux的说法是挂载点。
查看系统中已经挂载好的设备 mount
根据/etc/fstab的内容开机自动挂载
挂载命令的格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
挂载光盘
1 建立挂载点(建立放光盘的目录)mkdir /mnt/cdrom
2 挂载光盘 mount -t iso9660 /dev/sr0 /mnt/derom
3 卸载 umount 设备文件名或者挂载点
挂载u盘
1 查看U盘设备文件名
2 挂载 mount -t vfat /dev/sdb1 /mnt/usb
有些u盘可能是NAFS的文件系统,Linux不支持
Shell就是我们操作的字符界面,它把你输入的命令翻译给内核听,再将内核的信息翻译给你看。
还是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序。
查看当前所运行的shell echo $SHELL Linux 中典型的默认 shell 是 /bin/bash
ctrl + l 清屏
ctrl + a 到开头
ctrl + e 到行尾
ctrl + u 删一行
ctrl + c 强制终止某些命令
脚本执行方式
名字.sh
必须以 #!/bin/bash 开头
程序可以直接调用Linux的命令
echo "" 输出一行 如果有空格就要加双引号
echo -e “” 可以识别转义字符
echo -e “\e[1;31m asdasdasd \e[0m”
固定的格式 1为开启颜色 31m为红色 红后面的是固定的
执行 可以赋予执行权限 chmod 755 文件 再执行
也可以直接 bash 文件名
变量赋值 a=123
echo $a 输出123
echo ‘$a’ 输出$a
echo “$a” 输出123
a=`ls` 反引号 1旁边的那个 先运行ls命令 再将结果给a
a=$(ls).......
查看别名 alias
设置别名 alias 别名 = ‘命令’ 这样不是永久的 关机就没了
设置永久的 在文件/root/.bashrc 把刚刚的写进来
看是谁登陆 写自己的家目录
要重启后才能生效,或者source .bashrc 重新调用文件一次
删除别名 unalias 别名 不是永久 永久的删文件里面的
查看历史命令
在文件(家目录)~/.bash_history
history 查看历史
-c 清空历史
-w 将当前这条history写入文件,不然的话你查看文件会看不到最后一条
文件默认保存1000条历史命令,在文件/etc/profile中更改HISIZE=...
输出重定向
保存正确的输出:
命令 > 文件 会覆盖内容
命令 >> 文件 不会
保存错误的命令输出(就是那种不小心打错命令了)
命令 2>文件 会覆盖 注意没有空格
命令 2>>文件 不会......
命令 >> 文件 2>&1 或者 命令 &>文件 将正确的与错误的都写入一个文件
命令 >> 文件1 2>>文件2 将正确的写入1 错误的写入2
多命令顺序执行
命令1;命令2;命令3;。。。。 每个依次执行
命令1 && 命令2 只有1正确执行,才能执行2
命令1 || 命令2 只有1不正确执行,才能执行2
管道符
命令1 | 命令2 1的输出作为2的操作对象
如 ls /etc | more 分页显示查询内容
注意 more本来是用来操作文件内容的,但是在管道符中可以操作文件
但只能下翻页 用less可以上下翻
查看磁盘分区使用状况
df -l 默认项 显示本地磁盘
-a 显示所有文件系统
-h 以1024进制显示
-H 以1000进制显示
-t 显示指定类型的文件系统的分区
-T 显示分区类型
-x 不显示指定类型的文件系统的分区
主分区与扩展分区的总数不能超过4个
扩展分区最多只能有1个
扩展分区不能直接存储数据,要建立逻辑分区才可以
当磁盘空间满了后就要在原硬盘的基础上添加新的硬盘,但是必须对硬盘进行分区,格式化,挂载后才能使用。
用户:使用操作系统的人
用户组:具有相同系统权限的人
1.创建性感的妹子组:groupadd sexy(组名)
2.修改用户组的名称:groupmod -n market(新组名) sexy(原组名)
3.修改组编号:groupmod -g 668 market
4.创建组名为boss的用户组,组编号为888:groupadd -g 888 boss
5.删除用户组:groupdel market
6.用户组里添加用户:useradd -g sexy(组名) sdf(用户名)
7.创建用户时,指定用户的个人文件夹:useradd -d /home/xxx imooc
8.给用户添加备注:usermod -c dgdzmx(备注信息) sdf(用户名)
9.修改用户名:usermod -l cls(新用户名) sdf(原用户名)
10.给cls指定新文件夹:usermod -d /home/cls cls
11.修改用户所属用户组:usermod -g sexy(现在用户组) imooc(用户名)
12.暂时禁止普通用户登录服务器:touch /etc/nologin
passwd -l 用户名 -->锁定帐户
passwd -u 用户名 -->解锁用户
passwd -d 用户名 -->删除帐户密码,可以无密码登录
为用户添加附属组:gpasswd -a 用户名 附属组名
将用户切换至附属组:newgrp 附属组(必须本身的用户切换)
将用户从附属用户组中删除:gpasswd -d 用户名 用户组名
创建用户并指定其主、附属组:useradd -g group1(主组名) -G group2(附属组名) group3...
gpasswd 组名 -->给用户组设置组密码(执行命令后会有输入密码的提示)
/etc/group 存了用户组的信息
组名:密码占位符:编号:用户列表
/etc/gshadow 用户组密码信息
组名:密码:管理者:用户列表
/etc/passwd 当前所有用户信息
用户名:密码占位符:编号: 组编号:用户信息:用户主目录:shell类型
/etc/shadow 所有用户密码
用户名:密码
su 用户名 切换至该用户
- Linux入门基本指令
- Linux入门基本指令
- 2016-10-23Linux初步入门基本操作指令一
- 2016-10-24Linux入门基本操作指令二
- Linux基本指令【续】
- Linux基本指令
- linux基本指令
- Linux基本指令
- linux基本指令
- linux基本指令
- Linux基本指令
- linux基本指令
- 读书笔记---linux基本指令
- linux基本指令
- Linux 基本指令
- linux基本指令
- Linux--基本指令
- Linux基本指令
- ScrollView的循环滚动,不管加载多少图片,内存都不增加。
- iBATIS、Hibernate和JPA:哪一款最适合你
- CentOS下在大文件中查找某个字符串
- Android 开发环境配置图文教程(jdk+eclipse+android sdk)
- 搭建vs2010 boost开发环境
- Linux入门基本指令
- 解题报告 之 HDU5288 OO' s Sequence
- 开博宣言(就是点小感想)
- Velocity 语法(转)
- Phonegap
- Filter拒绝浏览器缓存
- 二叉树前序、中序、后序遍历相互求法
- 安装QEMU,虚拟mini2440开发板
- 基于C++的n阶线性方程组Ax=b求解