Linux Ubuntu使用技巧

目录

目录

Linux Ubuntu使用技巧

--Linux基础命令

--Ubuntu常用命令

(1)kill杀死无响应的进程

(2)统计文件和文件夹个数

--tmux常用命令

--Linux 设置可执行文件、头文件和链接库的路径

设置在PATH中找到可执行文件程序的路径。

gcc找到头文件的路径

g++找到头文件的路径

设置动态链接库的路径

设置静态库的路径

快速生效的方法

修改profile文件:

修改.bashrc文件(推荐):

bashrc与profile的区别

/etc/profile,/etc/bashrc 和~/.profile,~/.bashrc的区别

--安装 pip 并换镜像源

--限制线程数代码

--释放Ubuntu磁盘空间:



--Linux基础命令

# 使用 sudo nautilus 进入ubuntu 文件管理器。可以随意复制,删除,粘贴,无权限限制
sudo nautilus
# 列出to目录下,所有后缀名为jpg的文件
ls path/to/*.jpg
# 复制文件file.txt,并重命名为file1.txt
cp src/dir/file.txt dest/dir/file1.txt
# 复制文件file.txt到dest/dir
cp -r src/dir/file.txt dest/dir
# 复制文件夹
cp -r src/dir dest/dir
创建文件: touch a.txt
创建文件夹: mkdir NewFolder
删除文件: rm a.txt
删除文件夹: rmdir NewFolder
删除带有文件的文件夹: rm -r NewFolder拷贝当前目录所有文件:cp -r ./*.*  ./codes/

--Ubuntu常用命令

(1)kill杀死无响应的进程

gnome-system-monitor

(2)统计文件和文件夹个数

统计当前文件夹下文件的个数,包括子文件夹里的

ls -lR|grep "^-"|wc -l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

统计当前文件夹下文件的个数

ls -l |grep "^-"|wc -l

统计当前文件夹下目录的个数

ls -l |grep "^d"|wc -l

附:

统计输出信息的行数

wc -l

将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

grep "^-"


--tmux常用命令


# 查看所有session列表
tmux ls
tmux new -s abc # 新建一命名为 abc 的会话
# 恢复回话时:
# tmux ls 命令时所列出的每一行的最前面的那个编号
tmux attach -t 编号
# 也可简写成
tmux a -t 编号
# 连接上 abc 会话
tmux attach -t abc
# 或者
tmux a -t abc# 终止会话
# 杀死整个 cba 会话
tmux kill-session -t cba

快捷键:

Ctrl+B,D # 退出当前回话session,但不会kill掉该session

Ctrl+B,S # 进入tmux会话session后,使用该命令切换session

滚屏: ctrl +b + [   ,用q 退出滚屏


--Linux 设置可执行文件、头文件和链接库的路径

所有用户有效配置文件:/etc/profile

当前用户有效配置文件::~/.bashrc或~/.bash_profile

设置在PATH中找到可执行文件程序的路径。

export PATH=$PATH:/opt/rh/devtoolset-3/root/usr/bin/

export PATH=$OPENSSL:$PATH:$HOME/bin

export PATH=$PATH:/usr/local/curl/bin

PS:多个路径用:隔开

gcc找到头文件的路径

C_INCLUDE_PATH=/usr/local/mysql/include:/usr/local/include:/usr/local/curl/include
export C_INCLUDE_PATH

g++找到头文件的路径

C_INCLUDE_PATH=/usr/local/mysql/include:/usr/local/include:/usr/local/curl/include
export C_INCLUDE_PATH

设置动态链接库的路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/curl/lib:/usr/local/lib:/usr/lib64

设置静态库的路径

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/curl/lib:/usr/local/lib:/usr/lib64

快速生效的方法

source /etc/profile

sudo ldconfig

修改profile文件:

vi /etc/profile  
#在里面加入:  
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"  
#让环境变量立即生效需要执行如下命令:  
source /etc/profile

修改.bashrc文件(推荐):  

gedit ~/.bashrc
# 在里面加入 
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

# 使用sudo ldconfig生效
sudo ldconfig

# 另开终端,可以通过echo命令测试一下:  
echo $PATH

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/home/ubuntu/anaconda3/bin:$PATH
export PYTHONPATH="/home/ubuntu/caffe/python:$PYTHONPATH"
export PATH=/home/ubuntu/extern/protoc-3.0.0-linux-x86_64/bin:$PATH

bashrc与profile的区别

要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。

交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系统中存在许多bashrc和profile文件,下面逐一介绍:

/etc/pro此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置.

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。有些linux版本中的/etc目录下已经没有了bashrc文件。

~/. pro每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,然后执行用户的.bashrc文件.

~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

/etc/profile,/etc/bashrc 和~/.profile,~/.bashrc的区别

/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定

当登入系统时候获得一个shell进程时,其读取环境设定档有三步

  • 首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如:/etc/profile.d和/etc/inputrc
  • 然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
  • 然后在根据用户帐号读取~/.bashrc

~/.profile与~/.bashrc的不区别:

~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次


--安装 pip 并换镜像源

sudo apt-get install python-pip
sudo gedit /etc/pip.conf

在打开的文本文件中输入以下内容并保存。

--限制线程数代码

OMP_NUM_THREADS=1 MKL_NUM_THREADS=1  python XXX

在服务器上多卡上跑实验,如果不对每个进程的线程数量进行限制,每个进程会默认开启系统核心的一半的线程数,多卡同时跑实验会同时开启大量线程,线程会一直在排队,耗费大量时间在I/O上,运行变慢

--释放Ubuntu磁盘空间:

https://jingyan.baidu.com/article/2a138328f1e8ae074a134ff8.html

Linux Ubuntu使用技巧相关推荐

  1. surface pro linux服务器,Surface Pro平板电脑上安装Linux / Ubuntu的技巧

    嗯,Windows 10和Windows 8.1在Surface Pro上运行顺畅,但我认为有些用户想知道如何以及他们是否可以在上安装任何其他操作系统.您会很高兴听到答案是'是'.您始终可以将操作系统 ...

  2. Linux Ubuntu快捷键技巧

    Ubuntu常用快捷键总结 桌面常用快捷键 • Alt + F1:聚焦到桌面左侧任务导航栏,可按上下键进行导航 • Alt + F2:运行命令 • Alt + F4:关闭当前窗口 • Alt + Ta ...

  3. linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项

    Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...

  4. Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上

    Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上 如今你已经升级或者安装了Ubuntu 14.04, 但是还有另外一件保护你的新系统需要做的事情:备份! Ubuntu内置了一 ...

  5. ubuntu小技巧6--如何修复Ubuntu系统引导项

    ubuntu小技巧6--如何修复Ubuntu系统引导项 当我们安装双系统的时候,若先安装windows后安装Ubuntu,安装后则会出现一个默认的系统选择界面,如图1,但是先装Ubuntu后装Wind ...

  6. Ubuntu 命令技巧(官方)

    Ubuntu 命令技巧 目录 [显示] 前言 下面的命令大都需要在 控制台 / 终端 / shell 下输入. 控制台, 终端, 和 shell 意味着同样一件事 - 一个命令行界面, 他可以用来控制 ...

  7. ubuntu小技巧23--快速入门snap

    ubuntu小技巧23--快速入门snap 1 snap 简介 2 功能 2.1 常用命令 2.2 snap 安装vlc 2.3 snap 安装mysql-workbench 2.4 常见经典软件 3 ...

  8. Alpine Linux 配置使用技巧,docker的基本使用以及docker in docker、docker run docker

    Alpine Linux 配置使用技巧,docker的基本使用以及docker in docker.docker run docker. 最后把基于Linux系统实现的 docker in docke ...

  9. Ubuntu小技巧15--awk命令详解

    Ubuntu小技巧15--awk命令详解 Ubuntu小技巧15--awk命令详解 1 基本介绍 1.1 工作原理 1.2 使用格式 2 常用功能介绍 2.1 格式化输出 2.2 从文件获取awk命令 ...

最新文章

  1. 为何python攀上数据科学巅峰?调查显示Python超越R
  2. document的createElement方法创建具有指定标签的DOM对象
  3. mybatis 批量查询参数语句
  4. 028_jdbc-mysql大文本
  5. linux Ubuntu apache2 伪静态设置
  6. Silverlight实例教程 - Validation验证系列汇总
  7. 如何搭建SVN的服务器
  8. oracle之 如何 dump logfile
  9. day31(GIL锁)
  10. 耗时1个月整理的这份英语资源!一次性全部分享给你,手慢无!
  11. 结构化编程:跳转控制break、continue
  12. android桌面,Android Q带来全新桌面模式
  13. php完美pdo类封装,PDO类的封装
  14. 【webGoat】Path traversal
  15. java 消除png 锯齿_java Graphics2d消除锯齿,使字体平滑显示
  16. DOS命令窗口(黑窗口)
  17. 搞了一天存储过程,现在又说历史数据不用处理了。。。
  18. auto 和 auto
  19. 什么是SQL注入攻击以及如何防止SQL注入攻击
  20. Element Black 打造 NFT 新形式

热门文章

  1. node.js跨域问题
  2. 115开jiang监控
  3. J.U.C atomic 数组,字段原子操作
  4. 巧用句柄函数:闪烁窗体,做提示功能时很有用哦
  5. 培训是一种乐趣(3)
  6. Codeforces Round #580 (Div. 2)
  7. JAVA单例模式:懒汉式,饿汉式
  8. Object类有哪些公用方法?
  9. CF 295A - Greg and Array 差分數列
  10. 使用Lingobit Localizer汉化.net程序(Translate .net program using Lingobit Localizer)