sudo apt-get install 软件名 安装软件命令admin管理员组文章数量:1661765
sudo nautilus 打开文件(有root权限)
su root 切换到“root”
ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息
cd .. 回当前目录的上一级目录
cd – 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
fdisk fdisk -l 查看系统分区信息
fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
chown chown root /home 把/home的属主改成root用户
chgrp chgrp root /home 把/home的属组改成root组
Useradd 创建一个新的用户
Groupadd 组名 创建一个新的组
Passwd 用户名 为用户创建密码
Passwd -d用户名 删除用户密码也能登陆
Passwd -S用户名 查询账号密码
Usermod -l 新用户名 老用户名 为用户改名
Userdel–r 用户名 删除用户一切
tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
tar –cvf benet.tar /home/benet 把/home/benet目录打包
tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
tar –zxvf benet.tar.gz 压缩包的文件解压恢复
tar –jxvf benet.tar.bz2 解压缩
make 编译
make install 安装编译好的源码包
reboot Init 6 重启LINUX系统
Halt Init 0 Shutdown –h now 关闭LINUX系统
uname -a 查看内核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb设备
sudo ethtool eth0 查看网卡状态
cat /proc/cpuinfo 查看cpu信息
lshw 查看当前硬件信息
sudo fdisk -l 查看磁盘信息
df -h 查看硬盘剩余空间
free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)
kill -9 进程号 强制杀死一个进程
常用apt命令:
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package – - reinstall 重新安装包
sudo apt-get -f install 修复安装”-f = –fix-missing”
sudo apt-get remove package 删除包
sudo apt-get remove package – - purge 删除包,包括删除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包 )
sudo apt-get clean
删除系统不再使用的孤立软件
sudo apt-get autoremove
查看软件xxx安装内容
- dpkg -L xxx
查找软件
- apt-cache search 正则表达式
查找文件属于哪个包
- dpkg -S filename
apt-file search filename
查询软件xxx依赖哪些包
- apt-cache depends xxx
查询软件xxx被哪些包依赖
- apt-cache rdepends xxx
增加一个光盘源
- sudo apt-cdrom add
系统升级
- sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
清除所以删除包的残余配置文件
- dpkg -l |grep ^rc|awk ‘{print $2}’ |tr ["n"] [" "]|sudo xargs dpkg -P –
编译时缺少h文件的自动处理
- sudo auto-apt run ./configure
查看安装软件时下载包的临时存放目录
- ls /var/cache/apt/archives
备份当前系统安装的所有包的列表
- dpkg –get-selections | grep -v deinstall > ~/somefile
从上面备份的安装包的列表文件恢复所有包
- dpkg –set-selections < ~/somefile
sudo dselect
清理旧版本的软件缓存
- sudo apt-get autoclean
清理所有软件缓存
- sudo apt-get clean
删除系统不再使用的孤立软件
- sudo apt-get autoremove
查看包在服务器上面的地址
- apt-get -qq –print-uris install ssh | cut -d’ -f2
系统
查看内核
- uname -a
查看Ubuntu版本
- cat /etc/issue
查看内核加载的模块
- lsmod
查看PCI设备
- lspci
查看USB设备
- lsusb
查看网卡状态
- sudo ethtool eth0
查看CPU信息
- cat /proc/cpuinfo
显示当前硬件信息
- lshw
硬盘
查看硬盘的分区
- sudo fdisk -l
查看IDE硬盘信息
- sudo hdparm -i /dev/hda
查看STAT硬盘信息
- sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盘剩余空间
- df -h
df -H
查看目录占用空间
- du -hs 目录名
优盘没法卸载
- sync
fuser -km /media/usbdisk
内存
查看当前的内存使用情况
- free -m
进程
查看当前有哪些进程
- ps -A
中止一个进程
- kill 进程号(就是ps -A中的第一列的数字)
或者 killall 进程名
强制中止一个进程(在上面进程中止不成功的时候使用)
- kill -9 进程号
或者 killall -9 进程名
图形方式中止一个程序
- xkill 出现骷髅标志的鼠标,点击需要中止的程序即可
查看当前进程的实时状况
- top
查看进程打开的文件
- lsof -p
ADSL
配置 ADSL
- sudo pppoeconf
ADSL手工拨号
- sudo pon dsl-provider
激活 ADSL
- sudo /etc/ppp/pppoe_on_boot
断开 ADSL
- sudo poff
查看拨号日志
- sudo plog
如何设置动态域名
- #首先去 http://www.3322 申请一个动态域名
#然后修改 /etc/ppp/ip-up 增加拨号时更新域名指令
sudo vim /etc/ppp/ip-up
#在最后增加如下行
w3m -no-cookie -dump ‘http://username:password@members.3322/dyndns/update?system=dyndns&hostname=yourdns.3322’
网络
根据IP查网卡地址
- arping IP地址
查看当前IP地址
- ifconfig eth0 |awk ‘/inet/ {split($2,x,”:”);print x[2]}’
查看当前外网的IP地址
- w3m -no-cookie -dump www.ip138|grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’
w3m -no-cookie -dump www.123cha|grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’
w3m -no-cookie -dump ip.loveroot|grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’
查看当前监听80端口的程序
- lsof -i :80
查看当前网卡的物理地址
- arp -a | awk ‘{print $4}’
ifconfig eth0 | head -1 | awk ‘{print $5}’
立即让网络支持nat
- echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I POSTROUTING -j MASQUERADE
查看路由信息
- netstat -rn
sudo route -n
手工增加删除一条路由
- sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
修改网卡MAC地址的方法
- sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡
统计当前IP连接的个数
- netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n
netstat -na|grep SYN|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n
统计当前20000个IP包中大于100个IP包的IP地址
- tcpdump -tnn -c 20000 -i eth0 | awk -F “.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr | awk ‘ $1 > 100 ‘
屏蔽IPV6
- echo “blacklist ipv6″ | sudo tee /etc/modprobe.d/blacklist-ipv6
服务
添加一个服务
- sudo update-rc.d 服务名 defaults 99
删除一个服务
- sudo update-rc.d 服务名 remove
临时重启一个服务
- /etc/init.d/服务名 restart
临时关闭一个服务
- /etc/init.d/服务名 stop
临时启动一个服务
- /etc/init.d/服务名 start
设置
配置默认Java使用哪个
- sudo update-alternatives –config java
修改用户资料
- sudo chfn userid
给apt设置代理
- export http_proxy=http://xx.xx.xx.xx:xxx
修改系统登录信息
- sudo vim /etc/motd
中文
转换文件名由GBK为UTF8
- sudo apt-get install convmv
convmv -r -f cp936 -t utf8 –notest –nosmart *
批量转换src目录下的所有文件内容由GBK到UTF8
- find src -type d -exec mkdir -p utf8/{} ;
find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ;
mv utf8/* src
rm -fr utf8
转换文件内容由GBK到UTF8
- iconv -f gbk -t utf8 $i > newfile
转换 mp3 标签编码
- sudo apt-get install python-mutagen
find . -iname “*.mp3” -execdir mid3iconv -e GBK {} ;
控制台下显示中文
- sudo apt-get install zhcon
使用时,输入zhcon即可
文件
快速查找某个文件
- whereis filename
- find 目录 -name 文件名
查看文件类型
- file filename
显示xxx文件倒数6行的内容
- tail -n 6 xxx
让tail不停地读地最新的内容
- tail -n 10 -f /var/log/apache2/access.log
查看文件中间的第五行(含)到第10行(含)的内容
- sed -n ’5,10p’ /var/log/apache2/access.log
查找包含xxx字符串的文件
- grep -l -r xxx .
查找关于xxx的命令
- apropos xxx
man -k xxx
通过ssh传输文件
- scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
查看某个文件被哪些应用程序读写
- lsof 文件名
把所有文件的后辍由rm改为rmvb
- rename ‘s/.rm$/.rmvb/’ *
把所有文件名中的大写改为小写
- rename ‘tr/A-Z/a-z/’ *
删除特殊文件名的文件,如文件名:–help.txt
- rm — –help.txt 或者 rm ./–help.txt
查看当前目录的子目录
- ls -d */. 或 echo */.
将当前目录下最近30天访问过的文件移动到上级back目录
- find . -type f -atime -30 -exec mv {} ../back ;
将当前目录下最近2小时到8小时之内的文件显示出来
- find . -mmin +120 -mmin -480 -exec more {} ;
删除修改时间在30天之前的所有文件
- find . -type f -mtime +30 -mtime -3600 -exec rm {} ;
查找guest用户的以avi或者rm结尾的文件并删除掉
- find . -name ‘*.avi’ -o -name ‘*.rm’ -user ‘guest’ -exec rm {} ;
查找的不以java和xml结尾,并7天没有使用的文件删除掉
- find . ! -name *.java ! -name ‘*.xml’ -atime +7 -exec rm {} ;
统计当前文件个数
- ls /usr/bin|wc -w
统计当前目录个数
- ls -l /usr/bin|grep ^d|wc -l
显示当前目录下2006-01-01的文件名
- ls -l |grep 2006-01-01 |awk ‘{print $8}’
压缩
解压缩 xxx.tar.gz
- tar -zxvf xxx.tar.gz
解压缩 xxx.tar.bz2
- tar -jxvf xxx.tar.bz2
压缩aaa bbb目录为xxx.tar.gz
- tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
- tar -jcvf xxx.tar.bz2 aaa bbb
Nautilus
显示隐藏文件
- Ctrl+h
显示地址栏
- Ctrl+l
特殊 URI 地址
- * computer:/// – 全部挂载的设备和网络
* network:/// – 浏览可用的网络
* burn:/// – 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// – 可用的 windows/samba 网络资源
* x-nautilus-desktop:/// – 桌面项目和图标
* file:/// – 本地文件
* trash:/// – 本地回收站目录
* ftp:// – FTP 文件夹
* ssh:// – SSH 文件夹
* fonts:/// – 字体文件夹,可将字体文件拖到此处以完成安装
* themes:/// – 系统主题文件夹
查看已安装字体
- 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
程序
详细显示程序的运行信息
- strace -f -F -o outfile <cmd>
日期和时间
设置日期
- #date -s mm/dd/yy
设置时间
- #date -s HH:MM
将时间写入CMOS
- hwclock –systohc
读取CMOS时间
- hwclock –hctosys
从服务器上同步时间
- sudo ntpdate time.nist.gov
sudo ntpdate time.windows
控制台
不同控制台间切换
- Ctrl + ALT + ←
Ctrl + ALT + →
指定控制台切换
- Ctrl + ALT + Fn(n:1~7)
控制台下滚屏
- SHIFT + pageUp/pageDown
控制台抓图
- setterm -dump n(n:1~7)
数据库
mysql的数据库存放在地方
- /var/lib/mysql
从mysql中导出和导入数据
- mysqldump 数据库名 > 文件名 #导出数据库
mysqladmin create 数据库名 #建立数据库
mysql 数据库名 < 文件名 #导入数据库
忘了mysql的root口令怎么办
- sudo /etc/init.d/mysql stop
sudo mysqld_safe –skip-grant-tables &
sudo mysqladmin -u user password ‘newpassword”
sudo mysqladmin flush-privileges
修改mysql的root口令
- sudo mysqladmin -uroot -p password ‘你的新密码’
其它
下载网站文档
- wget -r -p -np -k http://www.21cn
· -r:在本机建立服务器端目录结构;
· -p: 下载显示HTML文件的所有图片;
· -np:只下载目标站点指定目录及其子目录的内容;
· -k: 转换非相对链接为相对链接。
如何删除Totem电影播放机的播放历史记录
- rm ~/.recently-used
如何更换gnome程序的快捷键
- 点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;
如果要清除该快捷键,请使用backspace
vim 如何显示彩色字符
- sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
如何在命令行删除在会话设置的启动程序
- cd ~/.config/autostart
rm 需要删除启动程序
如何提高wine的反应速度
- sudo sed -ie ‘/GBK/,/^}/d’ /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
MPlayer 安装问题
发表回复1.安装方法:
1.下载相关codes ( http://www.mplayerhq.hu/MPlayer/ ) 主要都在这里
Mplayer-1.0rc1.tar.bz2(主程序)( http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 )
Abyss-1.6.tar.bz2 (皮肤) (http://www2.mplayerhq.hu/MPlayer/skins/Abyss-1.6.tar.bz2)
all-20060611.tar.bz2(http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20060611.tar.bz2 )
windows-all-20060611.zip(建议不要在win下使用. rar,用. zip)
( http://www.mplayerhq.hu/MPlayer/releases/codecs/windows-all-20060611.zip )
这是我的mplayer的一些组件,你可以去http://www.mplayerhq.hu/MPlayer/ 下载你自己喜欢的皮肤和字体.
2.安装过程(请把你的终端打开)
a.安装相应的解码
进入主目录后,以root身份安装 ,这样改变身份:在终端输入su或者su root ,然后输入密码就ok啦,有没有看到 $ 变成了 #
接着
mkdir /usr/lib/codecs
mkdir /usr/lib/wincodecs
tar jxvf all-20060611.tar.bz2
mv all-20060611/* /usr/lib/codecs
unzip windows-all-20060611.zip
mv windows-all-20060611/* /usr/lib/wincodecs
b.安装mplayer
tar jxvf MPlayer-1.0rc1.tar.bz2
cd MPlayer-1.0rc1
./configure –prefix=/usr/local/mplayer –enable-gui –enable-freetype –with-codecsdir=/usr/lib/codecs/ –with-win32libdir=/usr/lib/wincodecs/ –language=zh_CN
注意:
–prefix=/usr/local/mplayer 是安装路径
–enable-gui 安装图形化用户界面
–enable-freetype 调节字体
–with-codecsdir=/usr/lib/codecs/
–with-win32libdir=/usr/lib/wincodecs 指定解码位置
–language=zh_CN 中文
在这一步的时候出错,提示Error: The GUI requires PNG support, please install libpng and libpng-dev packages.
网上搜了一下说,这样可以解决问题,yum install libpng-devel,通过网络安装,可以通过rpm -qa | grep libpng-devel确认是否安装,但是输入上述命令的时候提示:程序 ‘yum’ 尚未安装。 您可以通过输入以下命令安装:
apt-get install yum,输入命令之后由于网络原因,好多程序包无法下载。加入–fix-missing选项即可全部下载。网速有问题,下载速度好慢。
接着
make
make install
c.安装皮肤
tar jxvf Abyss-1.6.tar.bz2
mv Abyss /usr/local/mplayer/share/mplayer/skins/
cd /usr/local/mplayer/share/mplayer/skins/
mv Abyss default
至此mplayer已经成为了万能播放器
执行程序在 /usr/local/mplayer/bin中
你可以在终端中输入gmplayer,也可以在桌面建立起动器来使用mplayer
赶紧运行一下,看看有没有问题
你一定会发现我们还没有装字体,运行mplayer后它也会提示没有字体
你就从自己电脑中拷个字体到主目录下的.mplayer文件夹下,并把你的字体改名为subfont.ttf,问题就解决了,或者做个链接也行,只要你喜欢
字体你可以上网下载,mplayer网站也有,你电脑里也有字体,在/usr/share/fonts/chinese下(/usr /share/fonts/chinese/TrueType/uming.ttf就可以用)你就直接cp /usr/share/fonts/chinese/TrueType/uming.ttf $HOME/.mplayer下
每个用户都有自己的环境变量HOME,再cd $HOME/.mplayer 接着
mv uming.ttf subfont.ttf 结束!
本条目发布于 2009 年 4 月 25 日。属于 Ubuntu学习日志 分类。 作者是 wangxianfeng。su 鉴定故障
发表回复在终端下,切换root ,总是提示:
口令:
su:鉴定故障
抱歉
google一下,得到答案,
正确的命令应该是:sudo su
sudo 与su 是两个命令。sudo 授权许可使用的su,也是受限制的su
什么是Su
su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的, 但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法 并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们可以看到当然 通过su 切换是一种比较好的办法;
通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证;
什么是Sudo
“Sudo” 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能 完成的任务,比如:运行一些像mount,halt,su之类的命令,或者编辑一些系统配置文件,像/etc/mtab, /etc/samba/smb.conf等。这样以来,就不仅减少了root用户的登陆次数和管理时间,也提高了系统安全性。
一. sudo的特点
sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。所以,sudo有以下特点:
# 1. sudo能够限制指定用户在指定主机上运行某些命令。
# 2. sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。
# 3. sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。
# 4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。
二. sudo命令
sudo程序本身就是一个设置了SUID位的二进制文件。我们可以检查一下它的权限:
$ls -l /usr/bin/sudo
—s–x–x 2 root root 106832 02-12 17:41 /usr/bin/sudo
它的所有者是root,所以每个用户都可以像root那样执行该程序。设置了SUID的程序在运行时可以给使用者以所有者的EUID。这也是为 什么设置了SUID的程序必须小心编写。但是设置一个命令文件的SUID 和用sudo来运行它是不同的概念,它们起着不同的作用。
sudo的配置都记录在/etc/sudoers文件中,我们下面将会详细说明。配置文件指明哪些用户可以执行哪些命令。要使用sudo,用户 必须提供一个指定用户名和密码。注意:sudo需要的不是目标用户的密码,而是执行sudo的用户的密码。如果不在sudoers中的用户通过sudo执 行命令,sudo会向管理员报告这一事件。用户可以通过sudo -v来查看自己是否是在sudoers 之中。如果是,它还可以更新你的“入场券”上的时间;如果不是,它会提示你,但不会通知管理员。
sudo命令格式如下:
sudo -K | -L | -V | -h | -k | -l | -vsudo [-HPSb] [-a auth_type] [-c
class|-] [-p prompt] [-u username|#uid] {-e file [...] | -i | -s | command}
下面我们再来看一下sudo其它常用的一些参数:
选项 含义 作用
sudo -h Help 列出使用方法,退出。
sudo -V Version 显示版本信息,并退出。
sudo -l List 列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u username|#uid User 以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。
sudo -k Kill 清除“入场卷”上的时间,下次再使用sudo时要再输入密码。
sudo -K Sure kill 与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。
sudo -b command Background 在后台执行指定的命令。
sudo -p prompt command Prompt 可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。
sudo -e file Edit 不是执行命令,而是修改文件,相当于命令sudoedit。
还有一些不常用的参数,略过。
四、配置sudo
配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原 因,一是它能够防止 两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。
参考:http://wiki.ubuntu/Quick_HOWTO_:_Ch09_:_Linux_Users_and_Sudo(英文)
http://blog.chinaunix/u/9465/showart_184729.html(中文)
http://blog.chinaunix/u1/36549/showart_409588.html
转自:http://hi.baidu/leemuhe/blog/item/a90382d669c25b2c06088b2d.html
版权声明:本文标题:Ubuntu常用命令 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729939131a1216894.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论