Shell常用命令整理-自用(持续更新)

****文件操作命令****
ls #以默认方式显示文件列表
-a 显示所有文件
-l 显示文件属性
-lt 按照修改时间进行排序

cd #切换路径
/ 根目录
.. 上一级目录
../.. 上二级目录
~ 切换到用户目录

cp #拷贝文件
cp /root/source 将root目录下的source文件复制到当前目录
cp source target 将source文件复制为target文件
cp -av source_dir target_dir 将source整个目录复制到target目录,完全一致

scp #远程拷贝
scp test.txt [email protected]:/zx:textA.txt 将当前目录下的test.txt复制到远程111.12机器的/zx目录下,并重命名为textA.txt
scp -r remote_user@remote_ip:remote_folder local_path #从远程复制到本地,-r用于递归整个目录


mkdir #创建目录
mkdir ./name 创建name目录
mkdir -p ./name/p 递归创建目录

rm #删除文件或目录
rm file 删除某个文件
rm -rf dir 删除当前目录下dir目录及其文件内容

mv #移动文件或改名
mv source.log target.txt 将文件source更名为target
mv source.txt target 将source文件移动到target目录中
mv * ../ 将当前文件夹下所有文件移动到上一级目录

diff #比较文件内容
diff dir1 dir2 #比较两个目录下的文件列表是否相同
diff file1 file2 #比较两个文件内容是否相同

in #建立链接
in source_path target_path #建立硬链接
in -s source_path target_path #建立软连接
rm -rf ./gb 删除软连接,切记不要写成rm -rf ./gb/ 这样会删除原有文件

find 查找文件或目录
find / -name nginx*  从根目录查找名称以nginx开头的目录和文件
find / -size +100M 查找大小超过100M的文件
find /home/zx/  -mmin -10 查找指定目录10分钟内被修改过的文件
****查看文件内容命令****
cat #显示文件的内容,和DOS的type相同

more #分页显示命令
more file #分页显示文件内容Space显示下一屏,回车下一行,B键上一屏,q退出more命令
ls|more 通过管道符(|)与其他的命令一起使用

tail #显示文件的最后几行
tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行

vi #编辑文件
vi file 编辑文件file
输入命令的方式为先按[ESC]键,然后输入
:w  写入文件
:w! 不询问方式写入文件
:wq 保存并退出
:q  退出 
:q! 不保存退出

touch #创建一个空文件
touch a.txt 创建一个空文件,文件名为a.txt

stat #查看文件详细信息

echo #输入或打印
echo "abc" > test.txt 新建一个文件,并将abc写入。这里用到了重定向符

grep #文本搜索工具
grep "pattern" filename1,filename2 在多个文件中查找返回一个包含pattern的文本行
grep -v "pattern" file 输出除包含pattern的所有行
grep -E "[1-9]+" 使用正则表达式搜索
grep -c "text" file 统计文本中包含text的行数
grep -n "text" filename 输出包含该文本的第一个编号
grep -l "text" file1,file2 搜索多个文件并查找在哪几个文件中
grep "text" . -r -n 在当前目录中递归搜索
echo "hello world" | grep -i "HELLO" 忽略匹配样式大小写

****系统命令****
man #查看命令详细帮助
man ls 查看ls命令帮助内容

who #显示登陆用户详细信息

last #显示最近登陆用户

date #系统日期设定
data -s 20:20:20 设置系统时间为20:20:20
date -s "060529 06:00:00" 设置系统时间为2006年5月20日6点

uname #查看系统版本
uname -a 查看系统版本信息

shutdown #中断运行
shutdown -r now 重新启动计算机(停止服务后)== reboot
shutdown -h now 关闭计算机(停止服务后)== halt

su #切换用户
su - 切换到root用户
su hadoop 切换到hadoop用户

top #查看系统cpu,内存使用情况

free #查看内存和swap分区使用情况

ps #显示进程信息
ps ux 显示当前用户进程
ps uxwww 显示当前用户进程详细信息
ps aux 显示所有用户进程
ps ef 显示系统进程

kill #干掉进程
kill -9 1000 将进程编号为1000的进程干掉
kill all -9 apa 将所有名字为apa的程序干掉

service #启动或关停系统服务
service <service> start|stop|restart 启动|关闭|重启指定服务
service network #重启网络

chkconfig #查看系统服务
chkconfig <service> on|off 设置指定服务开机自启动|关闭
chkconfig --list 查看系统服务列表及每个服务的运行级别

****磁盘操作****
df #查看硬盘占用
df -a 列出全部目录
df -Ta 列出全部目录并显示文件类型
df -B 显示块信息
df -h 按照日常习惯(K,M,G)显示
****用户命令****
groupadd #添加组
groupadd test 添加test组
groupadd -g 111 test 添加test组,id为111

useradd #添加用户
useradd hadoop 添加用户hadoop,home对应/home/hadoop,组为hadoop
useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1
user list 显示已登陆的用户列表

passwd #更改用户密码
passwd hadoop 修改用户hadoop的密码
passwd -d root 删除root密码

userdel #删除用户

chown #改变文件或者目录的所有者
chown hadoop /dir 将dir目录设置为hadoop所有
chown -R user1.user1 /dir 将/dir目录下的所有文件和目录(递归)为user1所有,组为user1

chmod @改变用户权限
chmod a+x file 将file文件设置可执行
chmod 666 file 将file文件设置为可读写
chmod 750 file 将文件file设置为所有者完全权限,同组可读,执行,其他用户无权限
****压缩命令****
gzip #压缩文件为gz格式,覆盖原文件
gzip -v file 压缩文件,并且显示进度
gzip -d file 解压缩==gunzip

zip #压缩文件为zip格式
zip -q -r html.zip /home/html 将html目录下的文件打包为html.zip,
-q 不显示指令执行过程 -r 递归处理
unzip file.zip 解压缩文件

tar #归档与压缩
-cvf file.tar ./* 打包文件或目录
-xvf 解包
-czf 压缩文件或目录,格式为tar.gz
-xzvf 解压缩
c 建立包
x 解压缩
v 动作显示,显示出每个解压出来的文件,如果去掉该参数解压过程会变得快些,只是不显示动作而已
f 文件 f后面一定跟着压缩文件的名称,例如a.tgz或b.tar.gz等
z 有gzip属性的
j 有bz2属性的
-C 到指定目录

 其他常见命令

****网络相关命令****
ifconfig #显示网络信息
ifconfig eth0 显示eth0网络信息

netstat #显示网咯状态
-an 查看网络端口信息
-nr 查看路由表信息

ping #查看网络是否联通
ping ip

nc #实现TCP/UDP端口侦听,可作为服务器侦听端口
-l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址        
发起连接。
-s 指定发送数据的源IP地址,适用于多网卡机 
-u 指定nc使用UDP协议,默认为TCP
-v 输出交互或出错信息,新手调试时尤为有用
-w 超时秒数,后面跟数字 
-z 表示zero,表示扫描时不发送任何数据

ssh #远程登录其他Unix主机
ssh -l hadoop 192.168.1.100 使用用户名hadoop登录到192.168.1.100

telnet #登录远程主机
telnet 192.168.1.100 登录到192.168.1.100

apt-get #下载,通常与sudo配合使用
install xxx -y 下载xxx,无需确认
remove xxx 卸载但不卸载配置文件
purge xxx 全部卸载
update 提取最新的包来源信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章