• ubuntu常用指令


    总结一下常用的linux指令。

    mark一个linux指令学习和速查的网站:http://man.linuxde.net/

    (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 通过安装/升级软件来更新系统
    
    dpkg -i xxx.deb 运行deb程序进行安装
    sudo apt-get -f install 修复依赖

     (2) pip:用于安装python模块(不是linux里的默认指令,需自行安装sudo apt install pip)

    pip install 安装包
    pip uninstall 卸载包
    pip search 搜索能安装的包
    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 复制本地文件夹到远程主机
    sudo ufw disable #关闭防火墙
    sudo ufw enable #开启防火墙
    
    sudo apt-get install vsftpd # 安装和启动sftp
    service vsftpd start

      

    (4) 压缩和解压:zip, unzip, tar, rar, unrar, 7z

    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也可以,效果同上
    tar -jxvf source.tar.bz2
    
    rar a -r test.rar source/  将source文件夹的内容压缩到test.rar中
    unrar x ../test.rar 解压父目录中的test.rar到当前目录
    
    apt-get install p7zip-full
    7z x file 

    (5) 查看磁盘的存储占用:du;查看文件系统的存储占用:df。

    du -s或--summarize 仅显示总计,只列出最后加总的值。
    du -c 除了显示个别文件或目录的大小外,还显示一行目录和文件的总和大小
    du -h 以K,M,G为单位,提高信息的可读性。
    du --max-depth=1 查看当前目录所有(一级)文件的大小
    
    对于-c和-s稍微区分一下
    du -sh *.mkv 显示每个mkv文件的大小
    du -csh *.mkv 除了显示每个mkv文件的大小,还显示总和,这里的s加不加都行,因为只显示普通文件
    
    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 -R 用户名[:组名] 文件名或目录 改变指定目录或文件的所属用户,-R代表递归地改变目录下的所有文件

    (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 删除目录
    
    ln -s /real_file /soft_link  创建软链接

    (9) 进程

    ps -e 显示所有进程
    ps -f  全格式显示进程
    ps -u 'liaohuqiang' | grep 'tmux' 显示指定用户执行的进程,并匹配出包含'tmux'的那一行进程
    ps -ef | grep 'python' | grep -v grep 把grep命令排除掉
    ps -ef | grep 'python' | grep -v grep  | awk '{print $2}' 提取进程号
    
    kill -2 pid 类似ctrl+C,在程序结束之前能够保存相关数据,再退出
    kill -9 pid 直接强制结束进程
    
    reboot 重启
    shutdown -r now 立刻重启
    shutdown -r 30 30分钟后重启
    shutdown -r 23:00 晚上11点重启
    
    halt 立刻关机
    poweroff 立刻关机
    shutdown -h now 立刻关机
    shutdown -h 30 30分钟后关机
    
    shutdown -c 取消shutdwon的重启或关机
    command
    & 使指令成为后台任务 nohup 不挂断地运行命令,通常和&一起用,输出将附加到目录的nohup.out jobs -l 列出任务列表,l表示显示进程号(只查看当前终端的,关闭终端后无法看到) fg 把最近一个job切换到前台 fg n 把某个job切换到前台 ctrl z 挂起某个前台进程 bg 把作业放到后台运行 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 查看网卡信息

     (11) 查看电脑配置

    free -m  # 查看内存使用情况
    df # 查看磁盘使用情况
    cat /proc/cpuinfo # 查看cpu信息
    lspci | grep VGA # 查看显卡
    nvidia-smi # 查看英伟达系列显卡的使用情况
    nvidia-smi -L # 查看显卡型号
    watch -n 1 -d nvidia-smi # 实时监控nvidia-smi,每隔一秒刷新一次,d表示高亮 
    cat /proc/driver/nvidia/version # 查看显卡驱动
    cat /etc/issue # 查看ubuntu版本

    (12) 其它

    date 显示时间
    whoami 显示当前用户名
    who 目前登录系统的用户信息
    curl 'url' -O --progress 下载文件,-O代表保存文件(如果没有则输出到屏幕), --progress表示会显示进度条 
    (curl不是linux的默认自行,需自行安装apt install curl)
    echo $SHELL 查看系统使用的是哪种shell
    echo $PATH 查看环境变量
    
    xdg-open filename 用默认应用程序打开文件
    
    python run_generation.py | tee vggTrainResult  重定向到文件 
    
    cat /usr/local/cuda/version.txt 查看cuda版本
    
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 查看cudnn版本
  • 相关阅读:
    lua 中的上n级模块路径函数分享
    [poj 1062] 昂贵的聘礼
    [poj 2479] Maximum sum -- 转载
    IT界天才少年:比肩雷军、叫板任正非,自己作死了
    chromedriver版本 支持的Chrome版本
    运维开发:python websocket网页实时显示远程服务器日志信息
    JVM理论:(三/4)方法调用
    JVM理论:(三/3)运行时栈帧结构、基于栈的字节码解释执行过程
    JVM理论:(三/2)字节码指令
    JVM理论:(三/1)class类文件结构
  • 原文地址:https://www.cnblogs.com/liaohuiqiang/p/7191462.html
Copyright © 2020-2023  润新知