目录
在Windows系统通过SSH登录Linux Terminal
-
基本知识
-
Shell
- 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。默认的shell是Bash
-
Bash
- 即Bourne Again Shell
-
bash脚本
- #!/bin/bash #! 指明该路径所指定的程序是解释此脚本文件的 Shell 程序
echo "Hello World !" - bash脚本的执行
- 作为可执行程序
chmod +x ./file.sh #使脚本具有执行权限
./file.sh #执行脚本,并且注明是当前目录下的file.sh文件 - 作为解释器参数
直接运行解释器,其参数就是 shell 脚本的文件名 /bin/sh file.sh
- 作为可执行程序
- #!/bin/bash #! 指明该路径所指定的程序是解释此脚本文件的 Shell 程序
-
常用的bash命令
- 查看当前文件夹大小 du -sh *
- 查看指定文件大小 du -sk file_name
- 查看CPU个数 #cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
- 查看CPU核数 #cat /proc/cpuinfo | grep "cpu cores" | uniq
- 查看CPU型号 #cat /proc/cpuinfo | grep 'model name' | uniq
- 查看内存 #cat /proc/meminfo | grep MemTotal
- 查看硬盘 #fdisk -l | grep Disk
- 实时显示进程状态用户 top
-
uname -a # 查看内核/操作系统/CPU信息的linux系统信息 head -n l /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名的linux系统信息命令 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备的linux系统信息命令 lsmod # 列出加载的内核模块 env # 查看环境变量资源 free -m # 查看内存使用量和交换区使用量 df -h # 查看各分区使用情况 du -sh # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 uptime # 查看系统运行时间、用户数、负载 cat /proc/loadavg # 查看系统负载磁盘和分区 mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 swapon -s # 查看所有交换分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况网络 ifconfig # 查看所有网络接口的属性 iptables -L # 查看防火墙设置 route -n # 查看路由表 netstat -lntp # 查看所有监听端口 netstat -antp # 查看所有已经建立的连接 netstat -s # 查看网络统计信息进程 ps -ef # 查看所有进程 top # 实时显示进程状态用户 w # 查看活动用户 id # 查看指定用户信息 last # 查看用户登录日志 cut -d: -f1 /etc/passwd # 查看系统所有用户 cut -d: -f1 /etc/group # 查看系统所有组 crontab -l # 查看当前用户的计划任务服务 chkconfig –list # 列出所有系统服务 chkconfig –list | grep on # 列出所有启动的系统服务程序 rpm -qa # 查看所有安装的软件包 cat /proc/cpuinfo :查看CPU相关参数的linux系统命令 cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令 cat /proc/meminfo :查看linux系统内存信息的linux系统命令 cat /proc/version :查看版本,类似uname -r cat /proc/ioports :查看设备io端口 cat /proc/interrupts :查看中断 cat /proc/pci :查看pci设备的信息 cat /proc/swaps :查看所有swap分区的信息 --------------------- 来源原文:https://blog.csdn.net/u012442157/article/details/73692168/
-
获得root权限
- 初始化root密码 $ sudo passwd
- 通过命令 $ su - 获得root权限。
-
清屏
- $ clear
- [Ctrl] + l
-
重启
- $ reboot
- $ shutdown -r now 立刻重启
- $ shutdown -r 10 过10分钟自动重启
- $ shutdown -r 22:59 在时间为22:59时候重启
- $ shutdown -c 命令取消重启
-
关机
- $ shutdown -h now 立刻关机
- $ shutdown -h 10 10分钟后自动关机
- $ poweroff 关机
- $ shutdown -c 命令取消关机命令
-
查看系统磁盘情况
- $ df h
-
查看系统进程
- $ ps -aux 查看所有进程,并显示CPU占用情况
- $ kill 终止某进程
- $ top 实时显示进程状态
- $ ps -ef 查看所有进程
-
查看硬件设备
- $ lspci | grep -i 'VGA' 查看显卡信息
- $ lspci | grep -i nvidia 查看GPU型号
- $ 查看NVIDIA驱动版本
- (可参看:https://blog.csdn.net/jiangph1001/article/details/80090564)
-
文本编辑命令
- $ cat 查看文件
- $ touch 创建文件
- $ rm 删除文件
- $ rm -f 强制删除文件
- $ gedit 默认打开窗口,写入文件,关闭窗口,返回Terminal
- $ ~ 当前用户工作目录
- $ ls 显示当前目录中的所有文件
- $ ls -a 显示当前目录中的所有文件(包括隐藏文件)
- $ gcc 编译命令,编译成功,生成 .out
- $ ./.out 执行程序
- $ cp 拷贝文件(拷贝目录时候要加 -r)
- $ cd .. 返回上一目录
- $ cd 进入目录
- $ ifconfig 查看当前系统的IP网络等信息
- $ pwd 查看一个当前目录的绝对路径
- $ rmdir 删除空目录
-
环境变量
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
- 其中冒号是分割符,表示在$LD_LIBRARY_PATH环境变量基础上,再添加/usr/local/cuda/extras/CUPTI/lib64路径。
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
-
安装软件
-
.run 与 .deb
- .run
.run不是标准扩展名.run文件可能是您可以执行的。它可能会安装一个程序或做一些完全不同的事情。 - .deb 文件是dpkg的软件包,dpkg是低级Debian软件包管理器(这是APT及其亲属在引擎盖下引用的)。 .deb文件是Debian或Ubuntu或Mint等衍生产品的软件包。Debian软件包包含属于软件包的文件以及描述软件包的依赖关系和其他元信息的“控制文件”,以及安装,升级或卸载软件包时执行的安装脚本。您可以使用.deb和dpkg -c查看dpkg -I文件的内容。如果您没有dpkg,则可以使用ar t foo.deb列出.deb文件和ar x foo.deb control.tar.gz提取control.tar.gz部分(对于其他部分也是如此)。
- .run
-
sh 与 点命令(.)
- 在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数)一般的,sh是bash的“子集”。 “ sh test.sh ”是新建一个shell执行test.sh脚本里面的命令,不需要执行权限,有读取权限(r权限)即可。
- filename.sh 为Linux的脚本文件,我们可以通过 $ .sh 执行一些命令,可以理解为windows的.bat批处理文件。
- $ . 命令和source是同一个命令,可以理解为source的缩写,简称点命令。“$ . test.sh” (同$ source test.sh) 是在当前shell执行test.sh里面的命令,不需要执行权限,有读取权限(r权限)即可
-
chmod + 命令
- 使新导入的 .sh文件(新导入的还不是可执行文件) 变成可执行文件,目录下显示的颜色从灰白色变成绿色。如 $ chome + .sh 重复对同一个文件使用 chome + 会去除执行权限。
- chmod +x 和 chmod u +x 的区别是后者针对具体用户来说的,
- u 代表用户本身user
- g 代表用户组group
- o 代表其他others
- a 代表所有用户
-
软件安装方式
- (原文:https://blog.csdn.net/qq_37914187/article/details/79424211)
-
yum安装: 可以看成是从网络在线安装的一种方式,只需要yum install 软件名,系统就自动根据yum源配置文件中的镜像位置去下载安装包了,并可以自动分析所需的软件依赖关系,自动安装所需的依赖软件包。此方式适合初学者,简单方便,不用考虑依赖关系。但有些软件并不能通过yum来安装。 -
源码安装: 而源码安装方式是需要自己到网上下载源码包,然后解压安装。此方式可以指定配置参数,更加灵活方便,兼容性更强。比较适合对Linux系统有较多了解的进阶用户使用。 - rpm安装 是安装本地存在的rpm包,如果存在依赖也需要安装上,如果某个rpm是自己修改编译的,那么只能用rpm安装了。
-
- (原文:https://blog.csdn.net/qq_37914187/article/details/79424211)
-
aptitude 与 apt-get
- aptitude 与 apt-get一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
- aptitude update 更新可用的包列表
- aptitude upgrade 升级可用的包
- aptitude dist-upgrade 将系统升级到新的发行版
- aptitude install pkgname 安装包
- aptitude remove pkgname 删除包
- aptitude purge pkgname 删除包及其配置文件
- aptitude search string 搜索包
- aptitude show pkgname 显示包的详细信息
- aptitude clean 删除下载的包文件
- aptitude autoclean 仅删除过期的包文件
-
强制删除文件
- $ sudo rm -rf # 该命令在管理员权限下不提示强制删去指定文件,慎用!!!
-
.deb 安装软件
- 下载通过 $ sudo dpkg -i .deb 安装的文件
(原文https://blog.csdn.net/vivian_wanjin/article/details/83090182)- 卸载命令 $ sudo dpkg -r # 保留配置文件
- 卸载命名 $ sudo dpkg --purge # 不保留配置文件
- 其中pack_name 是 package_file.deb 对应的 package name,若不知道package name,可以通过 $ dpkg -l 查找,若要查找对应的 package,可以加通配符,如查找包含 fox 的 package dpkg -l fox即可
查到以后,可以运行 $ dpkg -r package_name 卸载。
- 下载通过 $ sudo dpkg -i .deb 安装的文件
-
安装并使用 pycharm
- 下载安装包 "pycharm-community-2019.1.3.tar.gz"
- 解压压缩包:右击 选择“Extract Here”,生成 “pycharm-community-2019.1.3” 文件夹
- 进入生成的文件夹, 执行 ./bin/pycharm.sh 即可开始安装
- 在安装过程中,有一个需要注意的地方
- 勾选 : Create a specify for opening files and projects from the command line ...
- 安装完成后,进入工作目录,创建程序文件 (main.py)
- Terminal进入工作目录,执行 $ charm . 可以该目录为工程文件打开,同时打开该目录下所有文件。
- 设置字体大小: File -> Settings... -> Editor -> Font -> Size [18] -> Apply
- 查看环境中使用的Python编译器路径 $ which python3 将显示python3的路径,然后设置pycharm的解释器
- 设置python解释器: File -> Settings... -> Project:<工程名> -> Project Interpreter -> [设置Python解释器路径]
- 如果选择其他的解释器,需要选中 “Show All...” -> 点击 “ + ” 添加新的解释器
- 选中虚拟环境,比如“Virtualenv Environment”
- 选中 “Existing environment”
- 在Interpreter中选择python路径即可
- 勾选 “Make available to all projects”
- 点击“OK”
- 消除屏幕中的波浪线
- 进入 File -> Settings -> Editor -> Color Scheme -> General -> Erros and Warnings -> Weak Warning
- 去除右侧的 Effects 勾选项即可
-
-
文件系统
- 目录下不同文件类型颜色区别
- 白色——表示其他文件
- 红色——压缩文件
- 绿色——可执行文件
- 浅蓝色——链接文件
- 蓝色——目录
- Linux常见的文件类型有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,如 “drwxrwxrwx ”:表示这是一个目录; “-rwxrwxrwx”:表示这是一个文件。
- 普通文件的文件权限第一个字符为 “ - ”
- 目录文件的文件权限第一个字符为 “ d ”
- 字符设备文件的文件权限第一个字符为 “c ”
- 块设备文件的文件权限第一个字符为 “ b ”
- 符号链接文件的文件权限第一个字符为 “ s ”
- 用户权限详解(参考:https://www.cnblogs.com/garfieldcgf/p/8323489.html)
- 文件权限标识一共由10个字符表示。第1个表示文件类型;紧接着3位表示 文件所有者权限;然后3位表示同组用户的权限;最后3位表示其他用户权限。
- “r w x” 分别表示 “读 写 执行”,可用数字表示为 “ 4 2 1”。比如,“rwx”表示 拥有的权限为 “读,写,执行”,或者说拥有的权限是“7”; “r_x” 表示拥有的权限为 “ 读, _ ,执行”(“_”表示无对应权限),没有“写” 的权限,用数字可表示为 “5”。

- 举例说明: “ -rw-r--r-- ” 表示这是一个普通文件。所有者权限为“可读、可写、不能执行”;同组用户权限为“可读、不可写、不可执行”;其他用户权限为“可读、不可写、不可执行”。用数字表示,该普通文件的权限为644
- 修改文件权限
- $ chmod <更改后的三位权限数字>
- 举例: 如 a.txt 权限为 644( -rw-r--r-- ),使用命令 $ chmod 666 a.txt 之后, a.txt 文件的权限变变为了666
- 其他参考(https://www.cnblogs.com/garfieldcgf/p/8323489.html)
- 目录下不同文件类型颜色区别
-
查看网络情况
-
环境配置路径配置问题
-
(原文https://www.cnblogs.com/hongzg1982/articles/2101792.html)
-
要搞清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的设置.
-
~/.bashrc 该文件包含专用于某个用户的 bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.
-
/etc/profile 中设定的变量(全局)的可以作用于任何用户,而 ~/.bashrc 等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
-
/etc/bashrc 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。有些linux版本中的/etc目录下已经没有了bashrc文件。
-
~/. pro 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,然后执行用户的.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的执行都会使用它一次
-
-
-
-
top命令详解
- 显示系统进程以及占用内存和cpu等资源的实时状况
-
ubuntu 18.04 无法打开设置
-
Ubuntu 18.04 输入法崩溃
- 问题描述:无法通过数字选择不同的输入文字
- 问题解决方案
- 卸载 "Iterlligent Pinyin"
- 进入 "~/.cache/ibus/libpinyin"文件,
- 重新启动,并添加""Iterlligent Pinyin"
- 另外,可以安装其他输入法,如搜狗输入法
- $ sudo apt-get install fcitx-bin
- $ sudo apt-get install fcitx-table
- 去搜狗官网下载linux ubuntu的安装包
- 进入安装包所在目录执行 $ sudo dpkg -i
- 配置一下fcitx (具体参见其他教程)
- 重启系统即可.
-
卸载程序命令
-
查看系统中已安装的所有程序 $ pdkg --list
-
dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除。
-
-
卸载程序
-
$ sudo apt-get remove <程序名> 仅删除软件,保留配置文件
-
$ sudo apt-get --purge remove <程序名> 将软件及其配置文件一并删除
-
-
-
SSH
-
安全外壳协议。Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置
-
SSH分为客户端 openssh-client 和服务器 openssh-server,利用命令确认电脑上是否安装了客户端和服务器
-
$ dpkg -l | grep ssh 若显示
-
openssh-client 说明ssh客户端已经安装(系统默认安装)
-
openssh-server 说明ssh服务器端已经安装
-
- 如果要开放本机的SSH服务就需要安装服务器,执行命令即可安装
-
ssh的登陆方式(原文:https://blog.csdn.net/li528405176/article/details/82810342 )
-
$ ifconfig 查看本机ip
-
口令登录-----命令格式为: ssh 客户端用户名@服务器ip地址 (如 $ ssh xiaoming@192.168.1.1)
-
通过 Ctrl+D 或者 exit 命令退出远程登录
- 首次登陆会显示公钥和提示是否登陆,输入"yes"即可,然后提示输入目标服务器主机的密码,即可完成进入目标服务器的Terminal.
- 若用户名相同,可以 省略用户名:ssh 服务器ip地址 (如 $ ssh 192.168.1.1)
- SSH服务的默认端口是22,请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如连接到服务器的1234端口:ssh -p 1234 客户端用户名@服务器ip地址
- 调用图形界面程序可以使用 -X 选项: ssh -X 客户端用户名@服务器ip地址
-
- 公钥登录
-
更多内容博客:https://blog.csdn.net/pipisorry/article/details/52269785
-
使用远程主机不中断的跑程序:当我们利用ssh在远程主机上跑程序的时候,只要关闭了终端就会中断ssh连接,然后远程主机上正在跑的程序或者服务就会自动停止运行。我们可以利用 nohup + 需要运行的程序 使运行的程序在切断ssh连接的时候仍然能够继续在远程主机中运行。nohup即no hang up(不挂起)。
除此之外还有很多远程操作应用,包括 数据传输、端口操作(将不加密的网络连接绑定到ssh端口实现间接加密) 等等,
-
在本机生成密钥对 $ ssh-keygen -t rsa #-t表示类型选项,这里采用rsa加密算法
-
然后根据提示一步步的按enter键即可(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,如果不放心私钥的安全可以设置一下),执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。
-
将公钥复制到远程客户端主机中:$ ssh-copy-id ldz@192.168.*.* 将公钥写到远程主机的 ~/ .ssh/authorized_key/ 文件中
-
以后再登录这个远程主机就不用再输入密码了.
-
-
$ sudo apt-get update 更新源列表
-
$ sudo apt-get install openssh-client 安装客户端程序
-
$ sudo apt-get install openssh-server 安装服务器端程序
-
$ ps -e | grep ssh 确认ssh服务是否启动,
-
显示 sshd 则表示已经启动.
-
显示ssh-agent 则表示ssh客户端已经启动
-
-
$ sudo /etc/init.d/ssh start 启动ssh服务器.
-
$ sudo /etc/init.d/ssh stop 停止ssh服务器
-
$ sudo /etc/init.d/ssh restart 重启 ssh 服务器
-
-
-
-
在Windows系统通过SSH登录Linux Terminal
-
在windows中下载相应版本的 PuTTY 并安装,
-
打开 PuTTY,在 下图的红框框中填入Linux的IP地址,备注:Linux系统中应安装了 SSH-server
-

-
点击“Open”即可,在弹出的对话框中选择“是Yes”,然后重新打开PuTTY即可
-
安装教程(https://blog.csdn.net/u012810488/article/details/41597395)可永久更改登录界面的字体
-
具体操作为:
-
首先新建一个session : 在 save selection 下面的框中填入session的名字,点击“save”
-
选中新建的session
-
点击:Window -> Appearance -> Font settings -> Change
-
更改相应的字体等设置 Font settings 中的选项
-
勾选 Allow selection of variable-pitch fonts,
-
点击 apply
-
返回登陆主界面 Session ,输入IP地址 , Save ,也可以更改其他默认信息
-
登陆时选择 就ok了
-
下次登录选中创建的session,不必输入IP地址,就可以登录了,登录之后已经是自定义的字体了。
-
-
-
无法获得管理员root 权限
- 输入 $ su - 和 密码之后无法获得管理员权限
- 只需重新设置一下管理员密码即可
- $ sudo passwd root
- 输入两次新密码即可
- 再次输入 su - 既可以通过设置的密码获取root账户了。
-
Ubuntu 无法打开设置菜单
- 执行命令 $ sudo apt install gnome-control-center

本文详述了Ubuntu系统中Shell的基本知识,特别是Bash的使用,包括bash脚本编写、常用bash命令、获取root权限、系统管理操作如清屏、重启、关机、查看磁盘及进程等。还介绍了安装软件的方法、环境变量设置、文件系统管理、网络状况查看以及SSH远程登录。此外,文章涵盖了如何解决Ubuntu 18.04中遇到的设置问题和输入法崩溃问题。

3257

被折叠的 条评论
为什么被折叠?



