Linux常用的十类命令:
1、查看身份:id 我是谁?
查看最初登录身份: who am i
查看当前用户名:whoami
查看当前用户详细身份:id
查看当前有哪些在线用户: who
改变身份:su 用户名
su (不写用户名,默认root)
2、查看当前工作目录(我在哪里?):pwd
3、查看内容和详细属性( 我有什么?):ls -l
以长格式显示文件/目录的详细属性:ls -l
包括权限细节,如文件类型,权限,属主,属组,文件大小,最后一次修改时间
文件类型 权限 属主 属组 文件大小 最后一次修改时间
-rw-r--r-- 1 root root 967 4月 25 19:19 1.txt
硬链接数 文件/目录名
显示目录下使有内容,包括隐藏的文件和目录: ls -a
将目录层次展开:ls -R
按照时间先后排序(最后一次修改时间):ls -t
查看文件类型:ls -F
查看当前目录的属性: ls -ld
4、进程管理
查看所有进程:ps -ef
查看所有的进程号: ps -aux
强制杀死某个进程:kill -9 pid
根据进程号(pid)杀进程:kill 进程号
根据进程名杀进程:pkill 命令名
查看系统资源情况:top
当前任务结束、挂起:ctrl + c ctrl + z
查看后台任务:jobs
将后台任务前置继续运行:fg 任务号
shell切换:bash csh sh ksh ... 启动子进程
结束当前进程,返回父进程;最后一次exit表示退出登录:exit
等待:sleep 秒数
5、文件系统命令:
改变工作目录:cd 目录的路径名
新建目录:mkdir 目录路径名
新建文件:touch 文件路径名
拷贝:cp 源文件路 新路径
将本地文件拷贝到服务器上 : scp -rp /patch/filename username@remoteIP:/path
将服务器上的文件拷贝到本地:scp -rp username@remoteIP:/path /patch/filename
重命名:mv 源文件路径 新路径
删除:rm 文件路径名
删除空目录: rmdir 目录名
删除非空目录:rm -r 目录名
查看文件目录属性:ls -l
查看文件内容:cat
more
head
tail
vi
监控文件技巧:tail -f 文件名
查看 ubuntu的版本号 : cat /etc/issue 或者 sudo lsb_release -a
快速查找某个文件:where is filename
查找某个文件:find 目录 -name 文件名
全盘搜索文件:grep -l -r xx
查看硬盘剩余空间: df -hl
查看每一个根路径的分区大小: df -h
目录名 查看目录占用空间: df -hs
cat: 适合看小文件,不可翻页,不可编辑 可以将多个文件合并成一个文件
$ date > t1
$ echo Hello > t2
$ cal > t3
$ cat t1 t2 t3 > newfile
more : 适合看大文件,可以翻页,不可编辑
控制命令: 空格 -- 翻页
回车 -- 跳行
b -- 向前一屏
f -- 向后
h -- 求助
q -- 退出
/ -- 查找
n -- 继续查找
将/etc/passwd文件拷贝到alice的主目录下:
$ id 是alice
$ cp /etc/passwd ~
$ cat passwd
$ more passwd
head 和 tail
查看文件的头几行: head -3 文件名 头3行
查看文件的后几行: tail -5 文件名 后5行
技巧:使用tail -f 文件名 动态刷新实时监控文件
用途:常用于查看系统的日志文件;
日志文件经常被更新,追加新的内容,需要监控。
$ tail -f 1.txt
$ ctrl + c 结束监控进程
select 列名, 表达式, 函数, ... 列的投影
from 表名, ...
where 记录的匹配条件 行的选择
文本编辑器:vi (vim等都是对vi的加强版)
回车--> -->i a o O
三种模式:底行模式 命令模式 输入模式
<-- : <-- Esc
常用的操作命令:
O
i 光标 a
o 变为输入模式,光标停留位置不同
向上 k
向下 j
向左 h
向右 l 用小键盘方向键也可
到行首 ^
到行尾 $
到第5行 5G
屏首 H
屏尾 L
屏中央 M
前翻页 ctrl + b backward
后翻页 ctrl + f forward
x 删除一个字符
dw 删除当前词
3dw 删除3个单词
dd 删除当前行
5dd 删除5行 (当前行开始)
:5, 10d 冒号模式,删除5~10行
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标到行尾
yw 拷贝词
yy 拷贝行 (Y) 5yy 拷贝5行
p 粘贴
:1,2co3 拷贝行1,行2到行3之后
:4,5m6 移动行4,行5到行6之后 剪切
:w 存盘 write (类似Windows中 ctrl + s)
:w 新文件名 另存为新文件
:wq 存盘退出 或 ZZ (shift + z + z) 或:x
:q! 强制退出不存盘
其它命令:
~ 大小写转换
J 把当前行和下一行连起来
u 撤销上一步 undo
:set number 显示行号 :set nu
:set nonumber 取消行号 :set nonu
:21 光标跳到指定行
21G 到21行 G表示文件行 1G第一行
/字符串 从当前行往下查找
?字符串 从当前行往上查找
n 继续向下查找
N 反方向继续查找
:r file2 在光标所在位置插入另一个文件 (合并)
:1,$s/旧串/新串/g 替换全文
说明:s表示替换 g表示全部替换 global
将所有: 换成@
:1,$s/:/@/g
6、权限管理:
语法格式:chmod 规则 文件或目录名
如:chmod 777 file 修改该文件为可执行权限
角色: u g o a (user,自己人;group同组人;other其他人;all所有人)
操作: + -
权限: r w x (读/写/执行)
数字法:644 新建文件默认
755 新建目录默认
常用操作:将当前目录下所有.sh文件让所有人都可执行
chmod a+x *.sh
7、输出重定向: >覆盖
>> 追加
8、管道:| 前一个命令的输出,作为后一个命令的输入
|more 分页
|grep 过滤 过滤出n行
|sort 排序
|wc 统计 统计:行、单词、字符的数量 Word count
管道sort:排序后展示
将/etc/passwd的头10行,写入文件f2中
$ head -10 /etc/passwd > f2
将/etc/passwd的头10行排序后,写入文件f3中
$ head -10 /etc/passwd | sort > f3
将/etc/passwd排序后的头10行,写入文件f4中
$ sort /etc/passwd | head -10 > f4
管道more: 分屏显示
对比:ls -l /etc
ls -l /etc | more 空格 回车 q
管道grep: 过滤(对行的查询/过滤)
对比:ls -l /etc
ls -l /etc | grep ssh 找到含有ssh的行
drwxr-xr-x 2 root root 4096 4月 25 11:20 ssh
查找出tom的账户信息
cat /etc/passwd | grep tom
tom:x:501:501::/home/tom:/bin/bash
找出girls组的所有用户的账户信息,按照用户名排序
/etc/group 组 girls:x:502:
/etc/passwd 用户
cat /etc/passwd | grep 502 | sort
管道wc:统计
cat f1 | wc
3 行 4 单词 18 字符
如:统计出girls组有多少账户
cat /etc/passwd | grep 502 | wc 行数就是账户数
9、网络管理:
查询Linux的IP地址:ifconfig
设置Linux的IP地址:netconfig
重启网络服务:service network restart
排查网络是否连通:ping 对方ip (Windows/Unix/Linux通用)
关闭防火墙:iptables -F
10、其他
查看系统变量:echo $变量名
echo $PATH (返回path的值)
查阅命令手册:man 命令名
查看日期:date
查看日历:cal
cal -本月日历
cal 2019 -全年日历
cal 6 2019 -某年某月
清屏:Linux:clear
Windows: cls
Sqlplus: clear screen