ubuntu下linux常用指令有哪些使用教程
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。对于一些用户ubuntu下使用,有什么常用命令呢?下面总结一下最近常用的linux指令。
方法步骤
(0) su和sudo:得到root权限
su 切换到root用户
sudo command 切换到root用户,执行command,然后切换回当前用户
su liaohuqiang 切换回普通用户
(1) apt:用于安装软件包
apt list 根据名称列出软件包
apt show 显示软件包细节
sudo apt install 安装软件包
sudo apt remove 卸载软件包
sudo apt-get check 检查依赖
sudo apt update 更新可用软件包列表
sudo apt upgrade 通过安装/升级软件来更新系统
(2) pip:用于安装python模块(不是linux里的默认指令,需自行安装sudo apt install pip)
pip install 安装包
pip uninstall 卸载包
pip list 列出已安装的包
pip show 展示已安装包的信息
pip check 检查依赖
pip --version 显示pip版本和位置
pip help 查看帮助
pip help install 查看install指令的相关option介绍
(3) ssh和scp:主机间通信
ssh username@ip 登录到远程主机
scp local_file username@ip:remote_directory 复制本地文件到远程主机
scp -r local_directory username@ip:remote_directory 复制本地文件夹到远程主机
(4) 压缩和解压:zip, unzip, tar
zip -r target.zip . 把当前目录以及目录下的子文件夹全部压缩
zip target.zip 压缩当前目录,如果有文件夹则不会压缩进去(因为没有加-r)
unzip source.zip -d 'folder' 解压到folder目录下
unzip source.zip 解压到当前目录下
tar -zcvf target.tar.gz sorceFoler c代表打包,z代表用gzip来压缩/解压,v详细报告处理信息,f必选并且后带文件名
tar -zxvf source.tar.gz -C 'folder' 解压到folder目录下,,其中z代表gzip属性的,x代表解压,v代表解压时输出相关信息,f必须有并且放最后并且后带文件名。
tar -xvf source.tar.gz 试了一下,少了个z也可以,效果同上
(5) 查看磁盘的存储占用:du;查看文件系统的存储占用:df。
du -s或--summarize 仅显示总计,只列出最后加总的值。
du -h 以K,M,G为单位,提高信息的可读性。
df -h 以K,M,G为单位,提高信息的可读性。
df -T x显示文件系统类型
(6) 查找命令
6.1 which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
6.2 whereis 只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
6.3 locate 配合数据库查看文件位置。linux会将系统内所有文件记录在一个数据库文件中,但是该数据库并不是实时更新。
6.4 find 实际搜寻硬盘查询文件名称。
find . -name '*.conf' 当前目录查找扩展名为.conf的文件
updatedb 更新数据库
locate 字符串 快速查找系统数据库中指定的内容
whereis python
which python
(7) 文件权限
chmod [ugoa][+-=][rwx] 文件名或路径 改变指定目录或文件的权限
u代表该文件所有者,g代表该文件所有者的同组用户,o代表其它
+代表增加权限,-代表取消权限,=代表唯一设定权限
r可读,w可写,x可执行
chmod u+x test 该文件所有者增加可执行的权限
用数字表示,规定r=4, w=2, x=1,
chmod 777 test 三种用户都赋予可读可写可执行的权限
chown 用户名[:组名] 文件名或目录 改变指定目录或文件的所属用户
(8) 文件和文本操作
grep str /tmp/test 在文件/tmp/test中查找str
grep ^str /tmp/test 在文件/tmp/test中查找以str开始的行
ls -ld */ 显示当前目录的所有目录文件
ls -l | grep '^d' 显示当前目录的所有目录文件
wc -l 统计文件行数
wc -w 统计单词数量
ls -l | wc -l 统计当前目前的文件数量,注意要减去“总用量”那一行
cp -a dir1 dir2 复制目录
mv dir1 dir2 移动/重命名目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除文件
rm -rf dir1 删除目录
(9) 进程
ps -e 显示所有进程
ps -f 全格式显示进程
ps -u 'liaohuqiang' | grep 'tmux' 显示指定用户执行的进程,并匹配出包含'tmux'的那一行进程
kill -2 pid 类似ctrl+C,在程序结束之前能够保存相关数据,再退出
kill -9 pid 直接强制结束进程
top 动态显示进程信息
top -i 不显示任何闲置或无用的进程
k 杀死某进程
n 改变显示的进程数量
u 显示指定用户
P 按CPU使用情况排序
q 退出
(10) 网络
netstat 显示网络情况
netstat -a 列出所有端口
netstat -l 只显示监听端口
netstat -t 列出所有tcp端口
netstat -p 显示使用该端口的pid和程序名称
netstat -n 直接使用ip地址,不通过域名服务器
找出程序运行的端口:netstat -anp | grep ssh
找出运行在指定端口的进程:netstat -anp | grep ':80'
ifconfig 查看网卡信息
补充:Linux基本命令
①ls 意为list 列出当前文件夹中的文件
-l 显示文件的属性 可用ll来表示
②alias 别名 看看是否有别名的文件
③cd dir 跳跃目录 -P选项 将路径中的链接文件替换成链接指向的文件路径
④pwd 查看当前工作的文件夹名 使用-P的选项,会直接进入到其中,相当于cd
相关阅读:Linuxshell脚本不执行问题实例分析
shell脚本不执行问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。原因:在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。解决:
1)重新在linux下编写脚本;
2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。
ubuntu下linux常用指令相关文章: