Linux指令_Linux学习笔记(二)
2.1 Shell
Shell是一个程序,是用户和操作系统之间提供一个面向行的可交互接口。用户在命令行
中输入命令,运行在后台的shell会把命令转换为指令代码发送给操作系统
shell高效使用:
- 命令行补全(按下tab键)
- 文件名补全:如果以输入的字符开头的文件不止一个,tab建按下俩次,shell会议列表形式给出所有以键入字符开头的文件
-
shell有一套通配符的专用符号即:* ? 和[]
- *用于匹配文件名中任意长度的字符串,例如列出目录中以.txt结尾的文件!
- ?只匹配一个字符
- []用于匹配所有出现在方括号内的字符。例如列出以hello开头而仅以1或A结尾的文件名。也可以用-指定一个字符集范围,是上下界的字符都包含在内
2.2 linux下的目录分类与作用介绍
- /:根目录,一般根目录下只存放目录,不要存放文件,也不要修改,或者删除目录下的内容
- /mnt:测试目录
- /root:root用户的家目录
- /home:普通用户的家目录
- /tmp:临时目录(比如文件上传时)
- /var:存放经常修改的数据,比如程序运行的日志文件
- /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件
- /etc:系统默认放置配置文件的地方
- /bin:所有用户都能执行的程序
- /sbin:只有root才能执行的程序
- /usr:用户自己的软件都可以放到这儿来
- /dev:存放硬件设备的地方(/dev/cdrom)
- /media:挂载光盘使用的
- 挂载光盘:mount /dev/cdrom /media
- 卸载光盘:umount /dev/cdrom
2.3 指令集
常用基础命令
- clear(清屏):ctrl+1
- who命令
功能说明:当前在本地系统上的所有用户的信息
举 例:whoami(查看当前用户) ; who - uptime命令
功能说明:查询系统信息
举 例:
load average: 0.00, 0.01, 0.05 1分钟的负载,5分钟的负载,15分钟的负载 - w命令(who命令和uptime命令结合)
功能说明:查询系统信息
举 例:w - free命令
功能说明:查看系统内存
举 例:free -h(人性化强烈推荐) ; free -m (以mb为单位);free -g(以G为单位) - wc命令
功能说明:统计行数。
举 例:wc -l 123.txt - uniq命令
功能说明:对排序好的内容进行统计(重复的个数)
举 例:uniq -c 123.txt | sort -n (重低到高排序)- -c为count计数的意思
- sort命令
功能说明:对内容进行排序
举 例:uniq -c 123.txt | sort -n - df命令
功能说明:文件系统的磁盘使用情况统计。
举 例:df -h - netstat
功能说明:查看网络端口的使用情况
举 例:netstat -tunlp | grep nginx
-t :显示tcp端口
-u :显示UDP端口
-n :指明拒绝显示别名
-l :指明listen的
-p :指明显示建立相关连接的程序名
安装netstat命令:yum -y install net-tools - hostname命令
功能说明:查看主机名
举 例:hostname - ps命令
功能说明:显示所有进程信息。 ps 与grep 常用组合用法,查找特定进程
举 例:ps -ef | grep nginx
ps -aux | grep nginx (-aux比-ef多cpu内存的使用情况) - kill命令
功能说明:杀死进程
举 例: kill -9 top - top命令
功能说明:监控Linux系统状况,比如cpu、内存的使用
举 例:按住键盘q退出 - du命令
功能说明:统计大小
举 例:du -sh (不加通配符,用于统计里面所有内容的总和; du -sm *) - firewall-cmd命令
功能说明:查看防火墙的状态
举 例:firewall-cmd --state
centos 7 关闭防火墙:systemctl stop firewalld.service - echo命令
功能说明:判断上一条命令是否正确
举 例:echo $? - cal命令
功能说明:查看日历
举 例:cal 2008
查看目录和文件
-
cd改变目录 cd +路径名
- cd /进入根目录
- cd 或 cd ~进入用户主目录
- cd - 返回上一次目录
-
pwd显示当前目录
-
ls列出目录内容
- ls不带参数列出当前目录下的所有文件和子目录
- ls -F 显示文件类型
- 目录文件后为/
- 可执行文件后为*
- 链接文件为@
- ls -a查看目录下所有文件(用于查看隐藏文件)
- ls -l查看文件的各种属性(共有8中信息栏)
-
dir和vdir列出目录内容(和ls差不多)
-
查看文本文件cat和more
- cat用于查看小文件 cat(-n用于显示行号)文件名
- more查看大文件内容
- Enter键向下滚动一行
- 空格键向下翻滚一页
- 按Q退出
-
阅读文件的开头和结尾:head和tail
- 用-n指定显示的行数
- head -20 文件名 前20行
- tail -20 文件名 显示后20行(用于查看log)
- 用-n指定显示的行数
-
grep查找文件内容
- grep 功能说明:查找文件里符合条件的字符串。
- 举 例:grep ‘119.4.253.206’ 123.txt | wc -l
-n:输出行数 grep -n ‘80.82.70.187’ 123.txt
-w:精确匹配 grep -w ‘113.66.107.198’ 123.txt
-i:忽略大小写 grep -i ‘IP:113.66.107.198’ 123.txt
-v:反向选择 grep -v ‘113.66.107.198’ 123.txt (就是找出不含关键词的项)
-
find在指定范围内查找文件
- find / -name (-type ? -atime n/-mtime n)
- find命令返回绝对路径
- -type选项
- -f为普通文件 b块设备文件 c字符设备文件 p命名管道 d目录文件 l符号链接
- -atime n(最后一次使用在n天前的文件)
- -mtime n(最后一次修改在n天前的文件)
- +n大于n天 -n表示小于n天
- find / -name (-type ? -atime n/-mtime n)
-
locate 快速定位文件(比find更为高效)
locate *.doc
-
diff命令
diff命令在最简单的情况下,比较给定的两个文件的不同
举 例:diff 123.txt 456.txt
-
man命令(ls --help)
功能说明:查看帮助文档
举 例:man ls -
help命令
功能说明:查看内部命令帮助
举 例:help if
建立文件和目录
- 建立目录 mkdir
- 使用mkdir -p用于创建多层目录
- touch建立空文件
- 移动和重命名:mv
- 移动mv 文件名 新目录下(新文件名)
- mv -i如果指定目录已有该文件用于判断是否进行覆盖(y覆盖,n跳过)
- mv -b如果指定目录已有该文件会自动跳过
- 重命名mv 文件名 新文件名
- 移动mv 文件名 新目录下(新文件名)
- 复制文件和目录:cp
- cp 文件 指定目录(新文件名)
- 和mv一样默认情况覆盖同名文件
- cp -i
- cp -b
- cp -r。此选项将子目录联通其中的文件一起复制到另一个子目录
- cp 文件 指定目录(新文件名)
- rm和rmdir删除目录和文件
- rmdir用于删除一个空目录
- rm可以删除目录页可以删除文件(rm会永久性删除)
- rm -i提示是否删除(默认的)
- rm -f 直接跳过提示
- rm -r 会递归地删除目录下所有的文件和子目录
- rm -rf功能强大,谨慎使用
文件和目录的权限
- 查看文件的属性和权限 ls-l,命令行第一个字符就是文件类型
linux文件类型
文件类型 | 符号 | 文件类型 | 符号 |
---|---|---|---|
普通文件 | - | 本地域名套接口 | s |
目录 | d | 有名管道 | p |
字符设备文件 | c | 符号链接 | l |
块设备文件 | b |
- 关于符号链接l
建立链接:
ln -s(软链接)需要-s参数的ln命令来创建ln -s target link_name
ln -s days my_days //建立名为my_days的符号链接指向文本文件days
当然符号链接还可以用于目录ln -s /bin/share/ bin_share
硬链接:将俩个独立得到文件联系在一起,与软链接本质不同,硬链接是直接引用,软链接是名称引用
ln doc1 doc2
特点:1.doc1和doc2文件类型不是l 2.俩个文件的内容同步一致,一个改变另一个也随之改变
输入输出重定向和管道
程序默认输出结果的地方为标准输出即(stdout)
程序默认输入结果的地方为标准输入即(stdin)
-
输出重定向
ls> 重定向文件 (>会删除文件中原有的内容,用新内容替代) ls>123.txt cat>123.txt echo'1234'>123.txt ls>>重定向文件(会保留文件中的内容,将新内容追加到内容尾部)
-
输入重定向
cat< 重定向文件 等价于 cat 文件 立即文档:这种重定向方式使用操作符"<<".立即文档明确告诉shell从键盘接收输入,并且 传递给程序。
* 错误重定向(将错误的信息打印到指定文件中)
* llll2 >/dev/null (无底洞)
* 几个符号
* & 代表等同于 ls -lrt /boot /test 1>/root/123.txt 2>&1
* &> 代表不分正确或错误 ,不管输出正确还是错误 都输出到重定向文件
* 管道| ls 123.txt|grep ay
* ; 代表可以执行多条命令
* && #前面的命令执行成功的话,后面的才可以执行成功;前面的命令执行失败的话,后面的不可以执行
* || #前面的命令执行成功的话,后面的不可以执行;前面的命令执行失败的话,后面的可以执行
##### 管道(将重定向推进了一步)
##### 其他指令
* ssh命令
功能说明:远程安全登录方式。
举 例:ssh 192.168.226.13
* exit命令
功能说明:退出命令。
* id命令
功能说明:查看用户。
举 例:id root
* uname命令
功能说明:查询主机信息。
举 例:uname -a
* ping命令+ip(域名)
功能说明:查看网络是否通。
举 例:ping www.baidu.com