unix命令

Linux strace命令

房东的猫 提交于 2019-12-28 01:21:18
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0) = 0xab1000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)...brk(0) = 0xab1000brk(0xad2000) = 0xad2000fstat(1, {st_mode=S_IFCHR|0620, st

Python 环境搭建

偶尔善良 提交于 2019-12-26 19:49:15
本章节我们将向大家介绍如何在本地搭建 Python3 开发环境。 Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多个DOS版本) PalmOS Nokia 移动手机 Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVMS QNX VxWorks Psion Python 同样可以移植到 Java 和 .NET 虚拟机上。 Python3 下载 Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到: Python 官网: https://www.python.org/ 你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。 Python文档下载地址: https://www.python.org/doc/ Python 安装 Python 已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。 您需要下载适用于您使用平台的二进制代码,然后安装 Python。

LXC容器运行X Server(续1)

跟風遠走 提交于 2019-12-26 14:44:16
容器要运行X桌面环境可通过ssh,xdmcp远程方式,此时容器是X Client,容器是无需安装X Server. 上篇( https://blog.51cto.com/13752418/2440496 )容器中以本地方式运行X是在宿主的虚拟终端(如vt09)上运行容器X. 本文是续篇,同样容器中以本地方式运行X Server,介绍的内容是容器运行X在宿主的桌面窗口之上,容器以本地方式登录桌面环境,即界面上类似VirtualBox的方式. 实验环境 : debian 11 主机名 shell提示符 ----------------------------------------------- 宿主 : debian root@debian:/# 容器 : vm1 root@vm1:/# 一.简单步骤 1.宿主 1)安装Xephyr root@debian:/# apt-get install xserver-xephyr 2)安装容器工具LXC root@debian:/# apt-get install lxc 3)创建容器 root@debian:/# lxc-create -t debian -n vm1 创建了以debian为模版的容器,其根目录是/var/lib/lxc/vm1/rootfs/ 这一制作容器的根的过程耗费较长时间,如果已有了容器,此步骤可省略. 4

linux命令学习之:netstat

六月ゝ 毕业季﹏ 提交于 2019-12-25 04:57:09
  Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等,可让你得知整个Linux系统的网络情况。 命令含义   执行netstat后,其输出结果为: [root@CTU1000094955 ~]# netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 CTU100009495:scp-config 10.156.17.212:50097 ESTABLISHED tcp 0 0 localhost:53020 localhost:mysql ESTABLISHED tcp 0 0 localhost:53022 localhost:mysql ESTABLISHED tcp 0 0 CTU1000094955:ssh 10.148.76.171:49280 ESTABLISHED tcp 0 0 localhost:53021 localhost:mysql ESTABLISHED tcp 0 0 localhost:53019 localhost

mysql学习笔记

。_饼干妹妹 提交于 2019-12-24 12:04:00
1、mysql初始没有密码,需要设置一个密码,设置方法: mysqladmin -uroot password "xxxxx" 2、使用VARCHAR(5) 和VARCHAR(200) 存储’hello’的空间开销是一样的。那么使用更短的列有什么优势吗? 事实证明有很大的优势。更大的列会消耗更多的内存,因为MySQL 通常会分配固定大小的内存块来保存内部值。尤其是使用内存临时表进行排序或操作时会特别糟糕。在利用磁盘临时表 进行排序时也同样糟糕。 所以最好的策略是只分配真正需要的空间。 3、show PROCESSLIST 查进程 4、创建用户,并给用户附加数据操作权限其中127.0.0.1可以根据实际情况修改比如某个ip段,如果本机要登录必须配置127.0.0.1或者localhost地址如下 CREATE USER 'dog'@'127.0.0.1' IDENTIFIED BY '123456'; #创建用户 GRANT ALL ON honor_m.* TO 'dog'@'127.0.0.1'; #授权用户访问honor_m.*库下面的所有权限 5.MySQL创建只读账号 > GRANT SElECT ON *.* TO 'reader'@'%' IDENTIFIED BY "passwd"; > flush privileges; mysql 5.7修改密码 update

UNIX命令详解(初级)

我的梦境 提交于 2019-12-23 12:54:17
a. 关於档案/目录处理的指令: 1. ls 这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是 某一个档案的内容显示出来。 如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所 有档案。 也可以在 ls 後面加上所要察看的目录名称或档案的名称,如 % ls /home2/X11R5 % ls first ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下: -a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls 将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh 的初设档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a 。 -l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯, 如档案存取权,档案拥有者( owner ),档案大小,档案最後更新 日期,甚而 symbolic link 的档案是 link 那一个档等等。如下 % ls -l drwx--x--x 2 jjtseng 512 Aug 8 058 18 drwx--x--x 2 jjtseng 512 Aug 8 220 19 -rw------- 1 jjtseng 566 Aug 8 05:28 makefile 2. cp cp 这个指令的意义是复制("COPY") ,

memcached 源码阅读笔记

允我心安 提交于 2019-12-21 23:28:15
阅读 memcached 最好有 libevent 基础, memcached 是基于 libevent 构建起来的. 通由 libevent 提供的事件驱动机制触发 memcached 中的 IO 事件. 个人认为, 阅读源码的起初最忌钻牛角尖, 如头文件里天花乱坠的结构体到底有什么用. 源文件里稀里哗啦的函数是做什么的. 刚开始并没必要事无巨细弄清楚头文件每个类型定义的具体用途; 很可能那些是不紧要的工具函数, 知道他的功能和用法就没他事了. 来看 memcached 内部做了什么事情. memcached 是用 c 语言实现, 必须有一个入口函数 main() , memcached 的生命从这里开始. 初始化过程 建立并初始化 main_base, 即主线程的事件中心, 这是 libevent 里面的概念, 可以把它理解为事件分发中心. 建立并初始化 memcached 内部容器数据结构. 建立并初始化空闲连接结构体数组. 建立并初始化线程结构数组, 指定每个线程的入口函数是 worker_libevent() , 并创建工作线程. 从 worder_libevent() 的实现来看, 工作线程都会调用 event_base_loop() 进入自己的事件循环. 根据 memcached 配置, 开启以下两种服务模式中的一种: 以 UNIX 域套接字的方式接受客户的请求 以

Linux命令之dos2unix

吃可爱长大的小学妹 提交于 2019-12-21 20:14:37
Linux命令之dos2unix (2011-09-22 11:24:06) 转载 ▼ 标签: 杂谈 Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。 常用参数 将DOS格式文本文件转换成Unix格式,最简单的用法就是dos2unix直接跟上文件名。 格式:dos2unix file 如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样) 格式:dos2unix file1 file2 file3 格式:dos2unix -o file1 file2

UNIX网络编程——僵尸进程

那年仲夏 提交于 2019-12-21 00:28:24
在fork()/exec()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程。 定义: 在unix术语中, 一个已经终止但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息,释放它仍占用的资源)的进程称为僵尸进程(zombie)。 产生: 怎样产生僵尸进程的: 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度, 仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集, 除此之外,僵尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没安装SIGCHLD信号处理函数调用wait或waitpid()等待子进程结束

UNIX网络编程——僵尸进程

别来无恙 提交于 2019-12-21 00:27:53
在fork()/exec()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程。 定义: 在unix术语中, 一个已经终止但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息,释放它仍占用的资源)的进程称为僵尸进程(zombie)。 产生: 怎样产生僵尸进程的: 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度, 仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集, 除此之外,僵尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没安装SIGCHLD信号处理函数调用wait或waitpid()等待子进程结束