
Linux-Ubuntu-Mac
五道口纳什
wx公众号/B站:五道口纳什
展开
-
linux 实用命令 —— cut、tr、sort、touch
1. [:alnum:]tr -cd ‘[:alnum:]’-d:delete;-c:complement;-cd:删除后边的参数以外的;[:class:][:alpah:]:字母,[:digit:]:数字; [:xdigit:]:十六进制字符[:alnum:]:字母和数字[:cntrl:]:控制(非打印)字符;[:punct:]:标点; [:print:]:可打印字符[...原创 2018-05-17 22:33:07 · 1465 阅读 · 0 评论 -
Linux shell —— 数组与关联数组
使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量;$ declare -A fruits_price$ fruits_price=([apple]='$100' [orange]='$150')列出关联数组的索引(也就是 key):$ echo ${!fruits_price[*]}$ echo ${!f...原创 2018-05-06 19:42:01 · 988 阅读 · 0 评论 -
ubuntu 源、codename 与 sources.list 文件
查看 codename$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 16.04 LTSRelease: 16.04Codename: xenial$ cat /etc/lsb_releaseDISTRIB_ID=UbuntuDI原创 2017-10-03 18:38:42 · 2140 阅读 · 0 评论 -
plink 与 ssh 远程登录问题
plink 是一种 putty-tools,ubuntu 环境下,如果没有安装 plink,可通过如下方法进行安装:$ echo y | sudo apt-get install plink1. 解决ssh第一次登录需要交互确认的问题解决SSH第一次登录需要交互确认的问题echo y | plink -ssh root@REMOTE_IP_HERE "exit"2. ssh 在参数中指定用户名和密码原创 2017-09-16 18:36:12 · 3070 阅读 · 0 评论 -
SELinux 初探
SELinux:Security Enhanced Linux。SELinux 是 NSA(美国国家安全局)开发设计,整合到 Linux 内核中的一个模块。0. 基本概念DAC(Discretionary Access Control),自主访问控制,传统的文件权限和账号关系;系统账号主要分为系统管理员(root)与一般用户,这两种身份能否使用系统上面的文件资源则与 rwx 的权限设置有关。自然原创 2017-09-03 15:55:59 · 848 阅读 · 0 评论 -
linux 基础 —— 网络管理
1. 常见命令netstat(net state),用于显示各种网络相关的信息,网络连接,路由表(routing tables,-r 参数),接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 。Linux netstat命令详解执行 netstat 后的输出结果如下,结果分为两部分, Active Int原创 2017-08-20 10:55:51 · 873 阅读 · 0 评论 -
ubuntu 下的文件校验(md5、sha256)
在本地使用 md5sum/sha256sum 生成某待测文件的 hash 值,以跟标准文件的 hash 值做对比验证,确定经网络传输过程得到的文件是否真实无损。一般而言,hash 值如果一致,大概率上能保证文件的一致性。我们以 Download Anaconda Now! | Continuum(Anaconda3-4.4.0-Linux-x86_64.sh)的下载校验为例,来说明,两种形式的校验方原创 2017-07-07 09:42:09 · 12860 阅读 · 0 评论 -
linux 下的文件搜索、可执行文件搜索
1. whereis 文件名速度快,只是模糊查询,例如查询 $ whereis mysql,则会将mysql, mysql.ini, mysql*所在的目录都找出来;2. find准确,但效率低,3. locate最好,最快,第一次使用该命令,可能需要更新数据库,references在ubuntu下如何搜索文件?原创 2017-07-06 21:51:38 · 870 阅读 · 0 评论 -
linux 代码行数统计利器 ——cloc
史上最全面的Linux应用软件大集合 | 博客水木1. 生产力Linux 桌面的便利贴:Stickynotes原创 2017-07-06 10:50:04 · 1679 阅读 · 0 评论 -
Linux 内核源码(kernel source)路径
查看内核的发行版:uname -r(--kernel-release)$ uname -r4.4.0-78-generic内核源码所在的位置:/usr/src$ cd /usr/src原创 2017-06-05 12:38:34 · 17852 阅读 · 0 评论 -
Linux 磁盘管理
1. LVM(logical volume manager)Linux环境下对磁盘分区进行管理的一种机制。为什么要提出LVM的概念和机制?Linux用户安装 Linux 操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多原创 2017-06-04 22:14:12 · 938 阅读 · 0 评论 -
rz、sz (上传下载)命令参数的解释
$ man rz,查看帮助;-a, –ascii-b, –binary 用binary的方式上传下载,不解释字符为 ascii-e, –escape 强制escape 所有控制字符,比如 Ctrl+x,DEL 等-ary –o-sync -a 表示使用ascii码格式传输文件,如果是Dos格式的文件,会转换为unix格式-r 使用 Crash recovery mode. 即文件传输中断会原创 2017-05-01 18:22:38 · 16304 阅读 · 0 评论 -
linux 命令学习 —— 硬件外设管理(dmesg、lsusb)
dmesg:print or control the kernel ring bufferdmesg命令设备故障的诊断是非常重要的。在dmesg命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。1. 列出加载到内核的所有驱动$ dmesg | more$ dmesg | less$ dmesg | grep ***$ dmesg |原创 2017-02-26 15:47:15 · 2932 阅读 · 0 评论 -
E: Could not get lock /var/lib/dpkg/lock(无法获得锁)
出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单。有以下两种解决办法:1. 强制解锁执行下面两段命令即可:sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock2. 结束相关进程在终端中执行 ps -aux,我们要结束的原创 2017-02-25 23:42:58 · 2457 阅读 · 0 评论 -
xshell/putty 连接 linux 虚拟机 connection failed 的解决方案
ubuntu 默认并没有安装 ssh 服务,如果通过 ssh(XShell/putty) 连接 ubuntu 虚拟机,则需要手动安装 ssh-server(ssh 分客户端和 openssh-client 和服务器端 openssh-server)。1. 检查是否安装 ssh方式之一:使用 which 命令$ which ssh$ which sshd方式之二:使用 ssh$ ssh loca原创 2017-02-19 11:07:54 · 4851 阅读 · 0 评论 -
Linux 环境变量
1. ~/.bashrc:配置用户自身的环境变量 注意,对 ~/.bashrc 的修改要在重新登录(而非关机重启)后才可以生效,比如,对于终端而言(terminal),就是 logout,重新登录;不再是全局,而是每个用户自身的,自然就在用户家目录下的.bashrc文件中进行环境变量的设置,用户之间的配置才不会互相干扰。库路径:export LD_LIBRARY_PATH=库路径:$LD_L原创 2016-10-30 23:44:37 · 2025 阅读 · 0 评论 -
强悍的 ubuntu —— 窗口界面管理与设置
1. 鼠标加速减速$ xset m default原创 2016-07-03 15:54:26 · 4317 阅读 · 1 评论 -
Linux 符号链接与 inode
iNode,index node,不是 Apple 公司的产品。原文地址: Linux 的 inode 的理解1. inode 是什么?理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(bl原创 2016-06-20 10:36:42 · 1446 阅读 · 0 评论 -
强悍的命令行 —— 磁盘空间的查看与磁盘空间的释放
1. df:以磁盘分区为单位df 是以磁盘分区为单位来查看文件系统。$ df -hl/dev/hdb2 75G 75G 0 100% /就是 HD 硬盘接口的第二个硬盘(b)上,里面的第二个分区(2),容量是75G,用了75G,可用是 0,因此利用率是100%, 它被挂载到根分区目录上(/)。2. du:查看单个目录du -bs dir_name # -b:表示以字节(by原创 2016-06-20 10:16:58 · 3583 阅读 · 0 评论 -
linux 命令行域名的解析(DNS) —— dig、host
很多时候,需要对域名进行解析(domain name),那么在GNU Linux 下有什么好的工具可以使用呢?大部分时间我们只需要使用 ping 命令即可完成这个工作,但是 ping 命令对于有域名对应多个 IP 的情况并不能够完整地进行得到,那么以下就介绍下能够得到完整的域名对应的IP地址,主要有三个命令可以完成如上的功能需求:(1)dig,显示较为详尽(2)host,较为简洁(3)nslo原创 2016-06-17 11:00:19 · 6092 阅读 · 0 评论 -
sudo echo x > **.** 时 base: : Permission denied
$ sudo echo print "hello world\!" > hello.pybash: hello.py: Permission deniedbash 拒绝这么做,说是权限不够. 这是因为重定向符号 “>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 命令也具有root 权限,所以 bash 会认为这个命令没有写入信息的权限。解原创 2016-06-17 09:23:42 · 1462 阅读 · 0 评论 -
bash: !": event not found
!在 bash 中有着特殊的含义;只需在!前加上\(对!进行转义),也即\!",即可打出感叹号了。原创 2016-06-17 09:07:59 · 10969 阅读 · 0 评论 -
强悍的命令行 —— echo、env($PATH)、sudo
echo 命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项 n 表示输出文字后不换行;字符串能加引号,也能不加引号; 用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。$ echo "hello worl原创 2016-06-16 22:07:55 · 3841 阅读 · 0 评论 -
强悍的 Ubuntu —— 粘贴板
Windows 用户应该都有切肤之痛,就是新的 ctrl + c 会覆盖之前复制的内容。Ubuntu 强大的粘贴板实在是方便和有用。1. 查看全局的粘贴板内容使用 ctrl + ; 查看粘贴板的内容,此时显示的就不只有一条内容,一般而言是最近的五次复制的内容。使用数字键进行选择。2. 使用 parcellite$ sudo apt-get install parcellite$ parcellit原创 2016-06-14 12:38:53 · 16365 阅读 · 3 评论 -
vim 与 ascii 码表与可显示字符
1. ascii 控制字符与可显示字符ASCII控制字符和ASCII可显示字符ascii 码分为:控制字符(0-31 && 127);可显示字符(32-126),也即控制字符不是可显示字符;2. vim 的脱字符表示法ASCII 0-31 部分的所有字符,将编码加上 64 之后对应的全部为可打印字符,于是将 0-31 位置的字符,用 ^ 跟转换之后对应的那个字符绑在一起当作一个字符显示出来,既原创 2016-06-13 20:55:55 · 5826 阅读 · 0 评论 -
强悍的命令行 —— man 区域码(section numbers)、C语言头文件及相关函数信息
$ man man1:Executable programs or shell commands2:System calls (functions provided by the kernel)3:Library calls (functions within program libraries)4:Special files (usually found in /dev)5:File f原创 2016-06-13 20:32:44 · 1890 阅读 · 0 评论 -
Linux 下 ascii 的查看方式
1. 命令行输入$ man 7 ascii该 page 页还提供了一个紧凑版的 ascii 码表: 左侧为 16 进制,0-F:表示低位,2-7:高位;右侧为 10 进制,0-9:表示低位,30-120:高位;2. 安 装 ascii$ sudo apt-get install ascii$ ascii # 查看 ascii 码表原创 2016-06-13 20:14:21 · 11501 阅读 · 1 评论 -
macos 开发环境配置
touch - change file timestamps.touch 最本质的功能是改变文件的时间戳。1. 常见参数-a 或–time=atime或–time=access或–time=use 只更改存取时间。-c 或–no-create 不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题原创 2016-06-07 15:03:28 · 1429 阅读 · 1 评论 -
Linux 内核的壳 —— shell
白色 ⇒ 文件蓝色 ⇒ 目录绿色 ⇒ 可执行文件红色 ⇒ 压缩文件浅蓝色⇒ 链接文件灰色 ⇒ 其他文件原创 2016-06-06 12:40:12 · 1475 阅读 · 0 评论 -
强悍的 Ubuntu —— 强悍的任意进制转换命令行工具 bc
bc - An arbitrary precision calculator language。我们要用到 bc 的 ibase 和 obase 方法。ibase是输入数字的进制,obase就是输出数字的进制了。1. 使用一条命令进行进制转换(1)10进制转2进制:$ echo "obase=2;ibase=10;100" | bc1100100(2)10进制转16进制:$ echo原创 2016-06-06 11:50:08 · 3497 阅读 · 0 评论 -
强悍的 Linux —— linux 中 bin 和 sbin 目录的主要区别
1. bin:bin为binary的简写主要放置一些系统的必备执行档例,如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。$ whereis catcat: /bin/cat /usr/share/man/man1/cat.1.gz2. /usr/bin:主 要放置一些应用软体工具的必备执行档例,如c++、g++、gc原创 2016-06-06 10:42:57 · 1866 阅读 · 0 评论 -
强悍的 Linux —— 系统文件及其作用
1. init进程 ID 1 通常是 init 进程,在自举过程(bootstrap)结束时由内核调用。该进程的程序文件在 UNIX 的早期版本中是 /etc/init,在较新版本中是 /sbin/init。此进程(进程 ID 为 1)负责在自举内核后启动一个 UNIX 系统。init(/etc/init,/sbin/init)通常读取与系统有关的初始化文件(/etc/rc* 或 /etc/init原创 2016-06-06 10:25:29 · 1025 阅读 · 0 评论 -
强悍的 Linux —— 文件解压与解压
强悍的 Linux —— tar Linux 文件拓展名及文件解压方式 1. gz 文件解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName注意以上方法是不保留源文件的,如下为保留源文件的做法:Linux压缩保留源文件的方法:gzip –c filename > filename.gzLinux解压缩保留源文件的原创 2016-06-05 16:19:10 · 1189 阅读 · 0 评论 -
强悍的命令行 —— less(与 more、cat 的区别)
1. -i:忽略搜索时的大小写默认是对大小写敏感的;2. 实现 man 查找某一字符串时对大小写的敏感性问题大小写敏感:$ man grep | less 大小写不敏感:$ man grep | less -i原创 2016-06-05 11:02:37 · 2933 阅读 · 0 评论 -
强悍的 Linux —— grep 与 egrep
强悍的 Linux —— 强悍的 grep 1. -v:实现对某些行(注释行)的删除$ cat test.c | grep -v ^[//] >> test2.c原创 2016-06-05 10:55:13 · 1222 阅读 · 0 评论 -
Linux 网页交互、curl
所谓以命令行的方式访问网页,即是在终端下以文本的形式访问网站,这里推荐一个工具:w3m,$ sudo apt-get install w3m$ w3m www.baidu.com原创 2016-06-04 11:47:56 · 12399 阅读 · 0 评论 -
强悍的命令行 —— basename 去掉路径和扩展名 dirname 获取路径
sudo mkdir ~/testsudo touch !$/test.txt1. basename1.1 去掉路径$ basename ~/test/test.txttest.txt1.2 去掉扩展名basename ~/test/test.txt .txttest2. dirname2.1 获取路径$ dirname ~/test/test.txt/home/zhang/test原创 2016-06-04 11:38:45 · 2645 阅读 · 0 评论 -
/usr/bin/ld: cannot find -l*
1. 问题通常在软件编译(make)时出现:usr/bin/ld: cannot find -lxxx的错误,主要的原因是库文件并没有导入的 ld 检索目录中。 2. 解决方式2.0 首先,确认库文件是否存在比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定义的lib下有无lib123.so, 2.1 如果只是存在lib123.so.1,那么可以通过:ln -sv l原创 2016-06-03 21:49:42 · 1147 阅读 · 0 评论 -
强悍的 ubuntu —— 命令行执行完毕通知(undistract-me)
当我们在命令行下:(1)git clone 一个项目时(2)sudo apt-get install 时(3)sudo make 时。。。往往要经历比较长的时间等待,一方面我们不能盲等,时间白白流失,我们需要转而去做其他事情,另一方面,我们有不确定方才的任务是否执行完毕,我们会时不时的去查看下该命令是否执行完毕了(类似计算机中的轮循机制),这样效率比较低,饱受 distract(分心)的困原创 2016-06-03 21:37:45 · 2421 阅读 · 0 评论 -
强悍的 Linux —— Linux 中 TTY 是什么意思
tty是Teletype的缩写。终端是一种字符型设备,它有多种类型,通常使用 tty 来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:1.串行端口终端(/dev/ttySn)串行端口终端(Serial Port Te转载 2016-06-03 16:43:09 · 13285 阅读 · 0 评论