1. ls (只显示文件名称) 2. ls -a (显示全部文件) 3. ls -l (长格式显示文件) 4. ls -al (显示所有文件并长格式显示)
5.ls / (显示根目录文件) 6. ls ~ (显示用户家目录) 7.ls .. 和ls ../.. (查看父目录的文件 ..表示上一层,上一层的上一层,就 ../..表示)
8. ls xxx/*.xxx (筛选文件 什么目录下的什么格式文件) 9. ls -lS > out.txt (文件目录输入到 一个文件中)
cd 命令
1. cd .. (返回上一级) 2.cd xxx (进入下一级目录) 3.进入带空格文件 必须 ‘test file ’ 或者 "test file"再者 “test\ file"
4 .cd ~ (进入 /home)
cat 命令
1.cat (进入空白模板,可以随意写 ctrl+d 退出) 2. cat file1 (显示file1文件的内容)
3.cat -b file1 (不计算空行的情况下显示行号) 4. cat -n file1 (行数显示,空行也计算)
5.cat -E file (显示到每行结束部分,并在每行尾部显示$符号。) 6.cat file1 file2 (显示file1 file2 文件)
文件重定向
1. cat > out.txt (终端里面输入的字符保存到一个具体文件中去,会覆盖out.txt之前的内容)
2. cat >> out.txt (不会覆盖之前内容) 3.cat file1.txt > file2.txt (file1 拷贝到file2)
5.cat file1.txt file.txt > file2.txt (file1 和file拷贝到file2)
mkdir ( 创建文件夹) make directory
1. mkdir image (创建image文件夹) 2.mkdir image/child (创建image的子文件夹) 3, mkdir -p fa/chi (父目录子目录同时创建) 4。mkdir -p fa/{c1,c2,c2} (同时创建多个子目录,不能有空格,隔开)
rm / rmdir (删除文件/目录)
1. rmdir -p a/b/c/d (删除多级空目录) 2 . rmdir a (单个文件夹)
3.rm -r (强制删除一个目录下所有文件和路径)
cp 命令 copy (复制)
1. cp file1 file2 (file1 拷贝到 file2) 2. cp file1 dir1 (拷贝到目录下,必须存在该文件夹)
3.cp file1.txt file2.txt dir1 (拷贝到目录下,必须存在该文件夹)
4.cp -i file1.txt file2.txt dir1 (覆盖文件,必须存在该文件夹)
5.cp -R dir1 dir2 (拷贝文件夹1到文件夹2,必须存在该文件夹 -R必须写!)
6.cp -vR dir1 dir4 (拷贝文件夹1到文件夹4,可以看到变更记录 必须存在该文件夹)
mv 命令 move (剪切)
1. mv file1.txt file2.txt (相当于重命名文件)
2 mv file1.txt dir1 (剪切文件到文件夹中)
3. mv -i file1.txt dir1 (文件名重复 是否覆盖)
4. mv dir1 dir2 (相当于重命名文件夹)
5. mv -v file3.txt dir2 (会解释这个命令执行了发生了什么变化)
less 命令 (查看文件内容)
,less命令一次只会加载一部分文件内容到终端上,而vi编辑器一开始,就把这个大型的文档读入内存,加载特别慢。
less file3.txt
键盘上的向上和向下箭头,点击一次向下简单,文件内容往下读取一行;点击一次向上箭头,文件内容,往上翻滚一行。
4.page down 和page up
利用键盘的page down 和page up来进行翻屏操作。点击一下page down,内容就向下翻一屏幕;点击一下page up内容就向上翻一屏,b = pg up z =pg dn
5.利用g x来翻到第几屏
默认按下g,代表翻到第一屏。你可以g3,翻到第3屏,这里我没有试试这个文档一共能翻几屏。输入大写G,默认下翻到文件尾部,小写g,回到文件头部。
6.在less打开文件中,如何搜索
假如你输入g回到文件开始部分,当前提示符是冒号,你输入/这个斜杠,代表进入搜索模式,然后输入你要搜索的字符,例如,输入字母a,然后回车,你会看到命中搜索结果的字符都颜色都白色选中状态标出,这个搜索次序,默认是从上往下搜索。如果想查下一个结果,你就输入n,n表示next。这里n表示下翻查看命中搜索结果,用b表示上翻查看命中搜索结果。
有时候,你现在在文件尾部,需要从下往上搜索,你可以输入?a,这里a表示你要搜索的关键字。
7. q退出less编辑环境。
more 命令(查看文件内容)
more file3.txt
按 回车 查看下面内容 b返回顶部
touch 命令(创建文件)
1. touch file.txt 2.可以修改时间戳
nano 命令 (也是一个编辑器)
上面会告诉你各种操作指令
su 和sudo
1.没权限的时候 输入 sudo -i 输入密码
2. su root 输入密码 进入root
top 命令 (查看CPU和内存消耗)
1. top 回车 查看
2. ctrl +c 退出top界面
3. 按 s 设置刷新频率
4. 按 i 不显示闲置的行程
ps 和 kill命令 (process statu查看进程 kill 终结进程)
1. ps -ux, 查看当前的激活的进程
2. ps -aux,查看当前所有进程,a是all的意思
3. ps -U zhq,查看zhq这个用户有关的进程
4. ps -ux 输入 kill PID编号 结束进程 kill 4383
5.强制杀进程:kill -KILL PID编号 或者 kill -9 PID编号
echo
1. echo 3123 输出 3213
2. x=10 echo $x 输出 10
3. echo abc\tdef 输出 adc def
echo adc\ndef 输出 abc
def
chmod 命令 (修改权限 o 表示others (其他权限组); u 表示(拥有者权限) ;g 表示 group(用户组) w 表示 write( 写) x 表示(执行) ; r 表示read(读))
ls -l 查看文件/文件夹权限
文件 --------- 表示都没有权限 前三个为u 中间三个为g 最后三个为p rw-rwx-wx 横杠表示没有
文件夹 d-------- d告诉你是文件夹
chmod o+x file.txt 给其他组增加执行权限
chomd g=wr file.txt 给用户组更该为读写权限
chmod ug=rwx file.txt 用户拥有者和用户组都变成读写执行权限
chmod ugo-rwx file.txt 删除文件file的所有权限
chmod u+rw,g=rw,o+r file.txt 分别设置三个组不同权限,逗号隔开
数字权限 r w x
0 0 0 表示没有权限
1 1 1 表示有权限
根据二进制换算 4+2+1 =7 所以 7为所有权限 6为只有rw权限 5为只有rx权限 以此类推
chmod 000 file.txt chmod 111 file.txt chmod 777 file.txt
第一个bash 脚本
which bash 会告诉你 bash的路径 /bin/bash
创建一个 test.sh 文件
打开编辑
顶部写入 #!/bin/bash 表示这个脚本用什么去执行,我们这里是bash
接下来写入
ls -l
mkdir newdir
保存关闭
在终端命令行执行 此文件 会说没有权限 增加权限 chmod +x test.sh
再执行就可以执行命令了
所以,shell脚本就是很多简单的命令,通过一些控制语句和其他方法去执行复杂任务的命令集合。
which和whatis命令
which告诉你相关程序的路径,whatis就是查询一个命令的含义。man 就是告诉你超级详细命令操作
例如
which firefox 返回 /usr//bin/firefix
whatis ls 返回 list directory contents
useradd和passwd命令和userdel
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
useradd
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
-D:变更预设值。
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
-G:指定用户所属的附加群组。-m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。-r:建立系统账号。-s:指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
其余这个就看这户人家的 https://blog.youkuaiyun.com/heiyueya/article/details/70136139
passwd
sudo passwd zhq 修改密码
userdel 删用户
sudo useradd tom -m
sudo userdel zhq
group 命令
1. groups 显示当前用户所在组
2. cat /etc/group 查看当前系统所有的组
3. sudo groupadd groupname 新加组
4. sudo groupdel groupname 删除组
5. sudo gpasswd -a username groupname 添加用户到组
6. sudo gpasswd -d username groupname 把用户从组删除
.bashrc 文件和.zashrc文件的作用
.bashrc或者.zashrc作用是用来设置启动一个终端的脚本文件。
vi常用指令
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
i :开始编辑
esc:回到命令模式
移动光标:
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。 按「ctrl」+「f」:屏幕往“前”移动一页。按「ctrl」+「u」:屏幕往“后”移动半页。 按「ctrl」+「d」:屏幕往“前”移动半页。按数字「0」:移到文章的开头。 按「G」:移动到文章的最后。 按「$」:移动到光标所在行的“行尾”。 按「^」:移动到光标所在行的“行首”;按「w」:光标跳到下个字的开头 ;按「e」:光标跳到下个字的字尾 ;按「b」:光标回到上个字的开头
查看资源相关命令 df / du /free
1. df 是显示磁盘使用情况 1.1 df 1.2 df -h (人类可读)
2. du是显示文件占用磁盘大小 2.1 du 2.2 du -h
3. free是查看内存使用情况 3.1 free 3.2 free -h
watch命令(主要是一个设置刷新时间的命令)
whatis whatch 查看介绍
1.watch free -m 可以查看默认的时间间隔是2秒 2.watch -n 1 free -m 设置1秒刷新
head 和tail命令(两个查看文件内容命令,有点类似less和more的感觉。一个是查看文件开始10行的内容命令:head;第二个是查看文件末尾最后10行的内容:tail.)
1. head file.txt 2. tail file.txt (默认查看10行) 3. head -n3 file.txt 两个命令都有参数-n表示具体显示多少行
4. tail -f file.txt (实时监控这个文件,会有数据写入需要查看最后的,考虑tail -f filename)
5.tail -f file.log|grep -i -E "you find" 实时监控你想看到的内容 i不区分大小写 E可以匹配多个|隔开
find (查找文件)
1. sudo find / -name *.xxx
(/ 后面不输 默认在当前环境下查找 输了就在指定目录下查找 )
wc命令 (word count 单词统计) whatis wc
1. wc file.txt 2 . wc -c file.txt ( 统计字节byte count) 3. wc -l file.txt (统计多少行)
4. wc -w file.txt (统计有多少个单词)
cal 命令
1. cal 或者 cal -1 查看当前日历
2. ncal 竖向显示日历
3. cal (查看年) cal 2018
4. cal (查看某月某年) cal 2 2018
5. cal -3 (查看近期3个月)上个月这个月下个月
date 命令(显示时间)
1. date (显示时间) 2018年 04月 11日 星期三 14:47:04 CST
2.date +%d/%h/%y (日月年) 11/04/18 日月年 3. date +%D 04/11/18 月日年 4. date +%T 14:05:07 5. %H %M %S
5. date -s "xxx-xx-xx" (设置时间)
一次运行多个命令
1. 采用分号(;)分隔多个命令 2.采用两个连接符(&&) ls; ls -l
ifconfig(查看网络相关的一个命令,例如可以查看MAC地址,网络地址,网关等信息。)
1. ifconfig 直接查看
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:5511 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:5511 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:979057 (979.0 KB) 发送字节:979057 (979.0 KB)
wlan0 Link encap:以太网 硬件地址 10:08:b1:2d:76:eb
inet 地址:192.168.199.100 广播:192.168.199.255 掩码:255.255.255.0
inet6 地址: fe80::1208:b1ff:fe2d:76eb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:318699 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:243099 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:384425279 (384.4 MB) 发送字节:39873375 (39.8 MB)
eth0表示有线网卡1,如果有多个网卡,可能还有eth1,eth2等等。如果是无线的笔记本,可能有wth0,表示无线网卡。 我这里 wlan表示无线
2. ifconfig wlan0
3.ifconfig wlan0 up /down (开启/关闭网卡)
tar 解压和压缩包
1.创建tar压缩包
tar -cvf test.tar dir
(cvf c 创建 v :verbose就是可以看到这个命中执行发生了什么事情。f是file的意思。 dir 就是要压缩的文件夹或者文件 test.tar 就是压缩后的文件名称)
2.解压 .tar
tar -xvf test.tar (x是表示extract,摘取的意思,这里翻译解压更好。)
3.创建tar.gz
tar -czvf test.tar.gz file (同上)
4.解压 tar.gz
tar -xzvf test.tar.gz
grep命令(意思是找到符合一定规则的字符并打印该行到终端。grep主要是用来在文件中匹配摘取一些按照一定规则的字符串,接下来,举例几个grep常用的使用方法)
1.grep "something you want to search" filename1 filename2 (从两个文件中寻找)
2.grep -n " something you want to search" filename (-n 结果会显示行号)
3.grep -i "options" filename (-i 忽略大小写)
4. grep -v "options" filename ( 不包含options的字段 -v表示invert match,不匹配的意思。)
netstat (英文单词network status的缩写,就是网络状态查询的意思。)
1.netstat -a (-a表示按照各个协议,分别统计连接数。按下q退出。)
2.netstat -a | less,和less命令结合使用,较少的查看内容 3.netstat -at | less, t表示TCP
4.netstat -au | less 这里u表示UDP 5.netstat -l | less 这里l表示lisentening,表示监听连接
6. netstat -s | less 这里s表示static的意思 7.netstat -st | less 表示TCP查询 8.netstat -su | less 表示UDP的查询
9.netstat -p | less 这里p表示PID 10.netstat -n | less 11.netstat -c | less
常用
netstat -tnl | grep 443 (查看443端口是否被占用)
netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。
TCP是一种面向连接的、可靠的、基于IP的传输层协议
-a (all) | 显示所有选项,默认不显示LISTEN相关 |
-t (tcp) | 仅显示tcp相关选项 |
-u (udp) | 仅显示udp相关选项 |
-n (numberic) | 拒绝显示别名,能显示数字的全部转化成数字。 |
-l (listen) | 仅列出有在 Listen (监听) 的服務状态 |
-p (program/PID) | 显示建立相关链接的程序名和pid |
-r (route) | 显示路由信息,路由表 |
-e(extend) | 显示扩展信息,例如uid等 |
-s (static) | 按各个协议进行统计 |
-c (Continus) | 每隔一个固定时间,执行该netstat命令。 |
- x | UNIX套接字连接 |
-w | RAW |
- i | 显示网络接口列表 |
apt-get (apt-get来安装和卸载linux的软件包。这里我们通过安装php5来实验。)
1. apt-get update (可以升级下apt-get组件)
2. sudo apt-get install php5 (下载)
3. sudo apt-get remove php5 (删除)
!!!!完结!!!!想知道更多功能的 通过 man XXXX