- 博客(38)
- 收藏
- 关注
原创 操作运行中的系统(六)-开始,停止和检查service的状态
systemctl status sshd.service我们可以知道sshd service的pid,比如是2366,可以用ps查看一下。ps -up 2366在我的机器上,目前它是active的,如果我们想关闭它,用stop参数即可systemctl stop sshd.service如果我们要开始这个service,用start参数systemctl star...
2019-09-16 12:18:25
522
原创 操作运行中的系统(五)-用systemctl 列出单元文件
systemctl -t help会列出所有的units,这些units我们可以使用systemctl命令进行管理。这些units 类型包括:service, socket, busname, target, snapshot, device, mount, automount, swap, timer, path, slice, scopesystemctl status s...
2019-09-16 11:55:43
523
原创 操作运行中的系统(四)-用top监测运行中的系统
uptime命令可以查看当前机器的运行情况,包括,启动了多久,多少个用户,负载情况。cat /proc/cpuinfo | grep "processor" | wc -l可以查看机器有多少CPUtop可以看到机器的运行详细情况,这个时候按m键,可以切换查看memory使用情况。按1键可以查看cpu使用情况。按q键退出。你也可以在top页面直接输入SIGKILL pi...
2019-09-16 10:15:04
151
原创 操作运行中的系统(三)-用kill和Pkill终止运行中的进程
kill 命令有一个参数是-signal,如果你在使用kill命令时不键入指定的signal,那么kill命令将会使用默认的signal:SIGTERM下面的命令可以打印出所有的64个signal,默认的signal是第15个:kill -l我们不用把所有的signal都记下来,只用记住几个常用的即可。-SIGTERM, -SIGSTOP , -SIGCONT, -SIGKIL...
2019-09-16 09:52:57
438
原创 操作运行中的系统(二)-在后台运行程序
有时候我我们需要运行一段脚本在后台,比如运行以下脚本:(while true; do echo "Hello" >> ~/hello.out; sleep 5; done) &最后那个&,就可以让这个任务在后台运行。同时你会得到任务的 job 编号和 id。使用 jobs 命令可以查看运行中的工作。使用 fg 可以将后台的任务唤出到前台,然后要想将任务...
2019-08-05 12:28:49
263
原创 操作运行中的系统(一)-用ps命令监测运行进程
ps命令可以用来查看现在运行在系统中的进程,可以看到PID, TTY, TIME,CMD四项内容。ps aux | less上面命令将进程列表在less中打开,aux分别代表:a = show processes for all usersu = display the process's user/ownerx = also show processes not attache...
2019-08-05 06:46:33
297
原创 安全linux环境:理解文件和权限(三)-Special Permissions
rwx是三种很常见的权限,但是还有另一种权限,叫附加权限,以s或S,或t/T表示。包括SET位权限(suid, sgid)和粘滞位权限(sticky)。SET位权限,s会占用原本x所占用的位置,因此,你会见到rws和rwS两种,分别表示有x权限和无x权限。sticky位权限,t会占用原本x所占用的位置,因此,你会见到rwt和rwT两种,分别表示有x权限和无x权限。下面看看怎样修改或增加...
2019-08-04 13:40:52
561
原创 安全linux环境:理解文件和权限(二)-Symbolic Permissions
ls -l-rw-r--r--. 1 root root 0 Aug 3 20:33 file.txtdrwx------. 3 jwang jwang 74 Aug 1 10:20 jwangdrwxrwxr-x. 3 root sales 50 Aug 3 19:53 sales然后创建以下文件和目录:mkdir itdepartmentmkdir itdepartmen...
2019-08-04 12:31:17
195
原创 安全linux环境:理解文件和权限(一)-Notation Permissions
ls -l可以查看当前文件夹下的文件的权限,在列表的最左边,由10位构成。第一位 指示 这个文件是 文件类型,如果是文件夹,第一位是d,如果是文件,第一位是-, 如果是符号(软)链接, 第一位是 l。后面的9位,每3位为一组,前3位指示着文件所有者的权限,中间3位指示着组权限,后3位指示其他人的权限。每三位都有rwx, r:read,w:write,x:execute,没有的权限...
2019-07-10 01:20:31
229
原创 管理用户和组(四)-通过配置系统来使用现有的认证服务
如果你在一个公司里工作,你可能需要集中管理一群雇员,让他们拥有去管理user group和 权限 的权限。这一节稍作了解即可。需了解LDAP相关内容可以查看https://www.cnblogs.com/caya-yuan/articles/9363510.html首先安装需要的包。yum -y install authconfig-gtk sssd krb5-workstati...
2019-07-10 00:41:55
160
原创 管理用户和组(三)-修改用户,组和密码寿命
这一节将用到 usermod 这个命令usermod --helpUsage: usermod [options] LOGINOptions: -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the ...
2019-07-10 00:24:16
262
原创 管理用户和组(二)-得到一个超级用户
超级用户可以做和root权限一样的任何事情。例如安装一个包,需要root权限。 要创建超级用户,首先你要先进入super user模式suvisudo 是vi的变种,可以查看和编辑需要超级权限能操作的文件/etc/sudoersvisudo 这个命令会打开/etc/sudoers假如我们想让上一节新建的用户 ali 能够安装软件包,只需要在最后一行加入ali AL...
2019-07-09 11:46:43
220
原创 管理用户和组(一)-建立本地用户和本地组
首先,我们可以通过 id 来查询用户信息,比如要查询一个叫 jwang 的用户,id jwang会得到uid,gid 和 groups。一般当你创建系统时,新建的那个用户会自动新建一个同名的group,并且group id 和用户id一样。ls -l /tmp如果你要查询文件/tmp,你能在-l命令下发现文件会属于不同的用户和组, 如 root 和 jwang。ps...
2019-07-09 11:19:57
982
原创 专栏目录-阅读顺序
建议食用顺序:理解和使用工具 (已完成)管理用户和组 (已完成)安全linux环境:理解文件和权限(已完成)操作运行中的系统(未完成)建立并配置文件系统(未完成)部署,配置和维护系统(未完成)本地文件系统(未完成)维护系统安全(未完成)Linux上的虚拟化(未完成)...
2019-07-07 11:41:20
209
原创 理解和使用工具(十六)-使用grep和正则分析文件
从log文件中获取数据来trouble shooting很重要。我创建了一个grep.txt来演示:Hello to linuxi love Linuxlinux is greatHello LiNuxlinuxlinux Linux linuXlonox#Linux Comment9LinuX36157847l{i}nuxgrep "linux"...
2019-07-07 11:31:05
130
原创 理解和使用工具(十五)-查找文件
locate passwdlocate 命令非常快,因为它会从locate database获取结果,它将得到任何文件名包含passwd字符的文件名及路径。locate -i messages-i 会忽视大小写,这样我们会得到不止包含messages字符的文件,也会得到MEssAges 及其他文件。locate -n 3 messages-n 是用来设置数量的选项,3表示...
2019-07-07 11:17:20
170
原创 理解和使用工具(十四)-创建硬/软链接
硬链接为了帮助理解什么是硬链接,首先先创建一个txt文件,用来演示:echo "Link Me" > linkfile.txtls -li linkfile.txt会得到输出:(-i 会打印文件的index number)68727717 -rw-r--r--. 1 root root 8 Jul 6 22:26 linkfile.txt下面创建硬链接,链接到tmp...
2019-07-07 10:50:30
353
原创 理解和使用工具(十三)-用tar,star,bzip2, gzip存档,压缩,解压缩文件
理解-option可以方便记忆archive, compress, decompress将多个文件打包在一起,叫archive,文件夹级别的操作。将单个文件压缩,叫compress,文件级别的操作。使用tar archive首先先创建4个实验用的文件。touch file1.txt file2.txt file3.txt file4.txt使用选项-c: crea...
2019-07-07 10:21:36
279
原创 理解和使用工具(十二)-用ssh访问远程系统
ssh jwang@ipv4ipv4 用实际ip替代即可,jwang是用户名。这条命令可以连接到指定ip以指定用户登录,输入密码即可。登录成功后就可以用命令行控制远程机器。输入 exit 就可以关闭连接。以下命令等价,都是以root权限登录到远程机器ssh root@ipv4ssh ipv4如果想要不输入ip,而是输入机器名,比如‘remoteserver’,需要配置一下让s...
2019-07-07 04:30:00
170
原创 理解和使用工具(十一)-建立并编辑txt文件(vi)
vi vifile.txt这样就能新建了一个vifile.txt,并打开了文件。按 i 进入insert模式,才能打字进去。否则则处于control模式,输入的字符都是命令。按esc退出insert模式,进入control模式,输入:wq保存并退出。[推荐] 具体的操作在一篇从coolshell的教程里写的很详细:https://coolshell.cn/articles/54...
2019-07-07 02:28:59
401
原创 理解和使用工具(十)-输入输出重定向(redirection)
linux 有三个steam来实现输入输出:stdin, stdout,stderr。std表示standard(标准的)ls 命令就使用了stdout,来输出信息,如果你输入了错误的命令,stderr就会输出错误信息。这三种stream可以被数字代表,0代表stdin,1代表stdout,2代表stderr。怎样读取目录的stdout 存到一个文件里呢?ls > li...
2019-07-07 01:13:14
447
原创 理解和使用工具(九)-查看Linux文档
cd /usr/share/doc先跳转到文档存放目录。用ls就可以看到你有哪些目录。cd wget-1.14然后到达这个应用的文件夹里,用ls查看有什么文件。我们的目标是里面一个叫sample.wgetrc文件。less sample.wgetrc使用less即可浏览文件,这个文件即wget的文档,里面介绍了wget的安装位置。也可以通过配置它来实现个性化。使用q退出。...
2019-07-07 00:23:40
134
原创 理解和使用工具(八)-通过pinfo获取帮助
pinfo tar会获取tar命令的帮助页,和man不同的是,pinfo的帮助页自带目录,可以跳转。操作基本和man一样。
2019-07-07 00:06:30
843
原创 理解和使用工具(七)-使用Manual Pages 获得帮助
你是记不住所有的命令和它们所有的选项的,所以你需要那个男人的帮助——J.Wman 命令,将命令分为9个section 或级别:Section 1 User Command Section 2 System Calls Section 3 Library Functions Section 4 Special Files (Device Files)...
2019-07-06 12:11:16
300
原创 理解和使用工具(六)-复制,移动,重命名和删除文件夹
文件夹里还有文件和子文件夹,因此要使用递归去遍历。复制cp -r dir1/ dir2/处理完后,dir2中有了dir1的复制品:dir2/dir1/移动mv -v dir1/ dir2/移动文件夹不需要-r操作,直接移动即可,这里处理完后,dir2中会有dir1/重命名mv dir1 dir44重命名文件夹时,文件夹后不要加/符号。处理完后di...
2019-07-06 11:48:04
183
原创 理解和使用工具(五)-复制,移动,重命名和删除文件
复制cp filename destcp将filename文件复制到dest文件夹。cp f1.txt /dest/f2.txt这里将f1.txt复制到dest文件夹下,并命名为f2.txt。复制多个文件到某个文件夹下:cp f1.txt f2.txt f3.txt dir/复制所有txt文件到某文件夹下:cp -v *.txt dir/-v 可以显示复...
2019-07-06 11:37:20
509
原创 理解和使用工具(四)-路径
whoami这条语句会告诉你,你在使用哪个用户账户登录中。hostname这条语句会告诉你这个机器的名字。pwd这条语句会告诉你当前终端处在哪个目录,或者当前工作路径。ls -l可以告诉你目录中的文件和文件夹的详细信息,包括权限,group name,最后一次更改的用户名,日期,时间。你也可以只看你想看的那个文件的信息,比如ls -l Downloads...
2019-07-06 11:05:15
157
原创 理解和使用工具(三)-创建文件和文件夹
创建文件touch file1.txt会在当前目录创建一个叫file1.txt的文件。使用 ls 命令可以list出来当前文件和文件夹名。touch也可以用绝对路径来新建文件,如touch Downloads/file1.txt怎样一次性新建多个文件?使用{},用逗号分隔,如touch {file2.txt,file3.txt,file4.txt}创建文件夹(...
2019-07-06 10:45:10
421
原创 理解和使用工具(二)-文件系统Heirarchy
了解linux系统的每一个文件夹的作用对于系统管理员来说非常重要 --J.Wroot directory: / 类似于windows的C:\\。/usr/ 保存已安装的应用和分享的library。/usr/里有bin,local,sbin,tmp文件夹。bin保存binary 命令,可以被任何登录的用户使用。sbin和bin几乎一样,只不过它里面的命令只能被admin级别的用...
2019-07-06 10:26:58
292
原创 理解和使用工具(一)-访问命令行
系统:CentOS 7-x86-64bit进入terminal后,可以看到[登录名@主机名 当前路径]$其中$表示普通用户,如果是root用户,将显示#, 如[jwang@localhost ~]$[root@localhost jwang]#date命令可以显示当前时间, date -u显示UTC时间。uptime显示登录的时间,用户有几个who显示哪些用户登...
2019-07-06 09:36:04
140
原创 在VirtualBox中安装CentOS遇到的低级问题:找不到启动项
安装好后,在IDE中新增了两个虚拟硬盘空间,然后再次启动后遇到了找不到启动项的问题FATAL: Could not read from the boot medium! System halted我的配置如下图所示,导致错误的原因可能是boot order和storage两块内容。回忆了一下,当时安装的时候,进入到installations summary界面后,install...
2019-07-06 05:18:38
925
1
原创 <LeetCode>-Tree 练习 (Python)
做题之前,先把preorder, inorder 和 postorder的recursive和iterative实现一遍。前序遍历:递归实现# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None...
2019-07-05 10:55:13
412
原创 <LeetCode>-Hash Table练习 (Python)
June 27, 2019 Two Sum <Easy>题解一:Two-pass Hash Table思路:目标是查找序列里符合条件的值的index,而Hash Table是映射数组里值和index的最好的方法,因此需使用Hash Table,使时间复杂度为O(1), 当发生碰撞时,时间复杂度为O(n).步骤:使用两次迭代。(Runtime 40ms, Memory 1...
2019-06-28 11:04:49
523
原创 Database and SQL (4)- Access Database Using Python
SQL APISQL API consists of a library of function calls as an application programming interface (API) for the DBMS.基本操作示例:App to DBMS:CONNECT(db, user, pswd)SEND("update empoyees set..")...
2019-06-18 04:28:18
222
原创 Database and SQL (3)- Functions, Sub-Queries, Multiple Tables
1. Built-in Database FunctionsSQL 有很多内置函数,可以作为SQL statement的一部分,加速数据处理和减少代码量。你也可以自己定义function。SUM(COLUMN_NAME)MIN(COLUMN_NAME)MAX(COLUMN_NAME)AVG(COLUMN_NAME)我们也可以使用数学表达式来处理列,例如AVG(SAL...
2019-06-17 08:58:16
157
原创 Database and SQL (2)- SELECT进阶
String patterns, Range, Sets1. String patterns。如果我们需要选择一个叫author的数据里的某个人,但是我们只记得他名字是以R开头的,这种情况怎么办?String patterns就是用来处理这种情况的,灵活应用即可很方便的查找。SELECT firstname from authorwhere firstname like 'R%...
2019-06-17 06:26:35
115
原创 Database and SQL (1)- 基本命令与语法
SQL有5种基本SQL命令:create, select, insert, update, delete. 其中create属于DDL,其余属于DML。1. CREATE:创建TABLE命令假如要创建一个名为instructor的table,命令为CREATE TABLE INSTRUCTOR(lns_id INTEGER PRIMARY KEY NOT NULL,lastna...
2019-06-17 05:22:59
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人