day04 - linux常用命令、目录说明以及ubuntu解锁root用户,安装tree命令
echo abcdefg >> aa.txt //向aa.txt文件末尾追加 abcdefg 字符串 1 基础命令:
clear //清屏 whoami //查看当前所登录的用户 who //Print information about users who are currently(目前) logged in.
SYNOPSIS(摘要): who [OPTION]... [ FILE | ARG1 ARG2 ]
DESCRIPTION(描述): Print information about users who are currently(目前) logged in. date: //Display the current time in the given FORMAT, or set the system date.
date [OPTION]... [+FORMAT]:显示
FORMAT: 格式符号
%D
%F
%T
date [MMDDhhmm[[CC]YY][.ss]]:设置
MM: 月分
DD:几号
hh: 小时
mm: 分钟
YY: 两位年份
CCYY: 四位年份
.ss: 秒钟 Linux的两种时钟:
系统时钟:由Linux内核通过CPU的工作频率进行的计时;
硬件时钟: hwclock: 显示硬件时钟
-s, --hctosys
-w, --systohc cal:日历 目录相关的命令:
当前目录或工作目录
主目录,家目录:HOME
root: /root
普通用户:/home/USERNAME
/home/tom ~:用户的主目录 cd:
cd 或 cd ~: 回当前用户的主目录
cd ~USERNAME: 切换至指定用户的主目录
cd -: 在上一个目录和当前目录之间来回切换 .
.. 相关的环境变量:
PWD:保存了当前目录路径;
OLDPWD:上一次所在目录路径; pwd: 显示当前目录 ls: list
显示指定路径下的文件列表; ls [OPTION]... [DIR]...
-a, --all: 显示所有文件,包括隐藏文件;
-l: 长格式
-rw-r--r-- root root Aug : install.log
-rw-r--r--:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数字:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
:文件的size
Aug : : 文件的最近一次被修改的时间
install.log: 文件名
-h, --human-readable:单位换算
-d: 显示目录自身的相关属性;通常要与-l一起使用;
-r, --reverse: 逆序显示
-R, --recursive: 递归 stat /PATH/TO/SOMEFILE:获取指定文件的元数据 文件查看命令:cat, tac
cat [OPTION]... [FILE]...
-E: 显示行结束符$
-n: 对显示出的每一行进行编号 文件内容类型查看命令:file
file /PATH/TO/SOMEWHERE 回显命令:echo
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
\n: 换行
\t: 制表符 echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo '$VAR_NAME': 变量不会替换,强引用 which:显示命令对应的程序文件路径
which [OPTION] COMMAND
--skip-alias:禁止显示别名 whatis:
使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库; 系统管理类命令:
关机:
halt, poweroff, shutdown, init
重启:
reboot, shutdown, init
跟用户登录相关:
who, whoami, w 目录管理类命令:
cd, pwd, ls mkdir, rmdir, tree mkdir [options] /path/to/somewhere
-p: 存在于不报错,且可自动创建所需的各目录;
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限; tree:
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径; rmdir:删除空目录
rmdir [OPTION]... DIRECTORY...
-v: 显示过程; 文本文件查看类命令:
cat, tac
more, less, tail, head more
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示 less
less [OPTIONS...] FILE... head
head [OPTION]... [FILE]...
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#: tail
tail [OPTION]... [FILE]...
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:
-f: 跟踪显示文件新追加的内容; 文件的时间戳管理工具:
touch 文件:metadata, data
查看文件状态:stat 三个时间戳:
access time:访问时间,简写为atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变 touch命令:
touch [OPTION]... FILE...
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,则不予创建 文件管理:
cp, mv, rm 复制命令:cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE... cp SRC DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
如果目录存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项;
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中; cp SRC... DEST
SRC...:多个文件
DEST必须存在,且为目录,其它情形均会出错; cp SRC DEST
SRC是目录:
此时使用选项:-r 如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
如果DEST存在:
如果DEST是文件:报错
如果DEST是目录: 常用选项:
-i:交互式
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: --preserv=mode,ownership,timestamp
-v: --verbose
-f: --force mv: move,移动文件
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE... 常用选项:
-i: 交互式
-f: 强制 rm: remove,删除
rm [OPTION]... FILE... 常用选项:
-i: 交互式
-f: 强制删除
-r: 递归 rm -rf 文本编辑器:nano
全屏编辑器 输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆盖重定向,目标文件中的原有内容会被清除;
>>: 追加重定向,新内容会追加至目标文件尾部; # set -C: 禁止将内容覆盖输出至已有文件中;
强制覆盖:>|
# set +C: >: 覆盖重定向错误输出数据流;
>>: 追加重定向错误输出数据流; 标准输出和错误输出各自定向至不同位置:
COMMAND > /path/to/file.out > /path/to/error.out 合并标准输出和错误输出为同一个数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向 COMMAND > /path/to/file.out > &
COMMAND >> /path/to/file.out >> & 输入重定向:< tr命令:转换或删除字符
tr [OPTION]... SET1 [SET2] HERE Documentation:<<
# cat << EOF
# cat > /path/to/somefile << EOF 管道:
COMMAND1 | COMMAND2 | COMMAND3 |... Note:最后一个命令会在当前shell进程的子shell进程中执行; tee命令:
tee [OPTION]... [FILE]... 用户创建:useradd
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs
-g GID:指明用户所属基本组,可为组名,也可以GID;
-c "COMMENT":用户的注释信息;
-d /PATH/TO/HOME_DIR: 以指定的路径为家目录;
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中;
-G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在;
-r: 创建系统用户
CentOS : ID<
CentOS : ID< 默认值设定:/etc/default/useradd文件中
useradd -D
-s SHELL 组创建:groupadd
groupadd [OPTION]... group_name -g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组;
CentOS : ID<
CentOS : ID< 查看用户相关的ID信息:id
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Groups
-n: Name 切换用户或以其他用户身份执行命令:su
su [options...] [-] [user [args...]] 切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件;
su - UserName:登录式切换,会读取目标用户的配置文件;完全切换; Note:root su至其他用户无须密码;非root用户切换时需要密码; 换个身份执行命令:
su [-] UserName -c 'COMMAND' 选项:
-l:“su -l UserName”相当于“su - UserName” 用户属性修改:usermod
usermod [OPTION] login -u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL;
-c 'COMMENT':新的注释信息;
-d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;
-l login_name: 新的名字; -L: lock指定用户
-U: unlock指定用户 -e YYYY-MM-DD: 指明用户账号过期日期;
-f INACTIVE: 设定非活动期限; 给用户添加密码:passwd
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码; 常用选项:
-l: 锁定指定用户
-u: 解锁指定用户 -n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限; --stdin:从标准输入接收用户密码;
echo "PASSWORD" | passwd --stdin USERNAME Note: /dev/null, bit buckets
/dev/zero, 删除用户:userdel
userdel [OPTION]... login
-r: 删除用户家目录; 组属性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID; 组删除:groupdel
groupdel GROUP 组密码:gpasswd
gpasswd [OPTION] GROUP -a user: 将user添加至指定组中;
-d user: 删除用户user的以当前组为组名的附加组 -A user1,user2,...: 设置有管理权限的用户列表 newgrp命令:临时切换基本组;
如果用户本不属于此组,则需要组密码; 修改用户属性:chage
chage [OPTION]... LOGIN
-d LAST_DAY
-E, --expiredate EXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindays MIN_DAYS
-M, --maxdays MAX_DAYS
-W, --warndays WARN_DAYS 权限管理: 文件的权限主要针对三类对象进行定义:
owner: 属主, u
group: 属组, g
other: 其他, o 每个文件针对每类访问者都定义了三种权限:
r: Readable
w: Writable
x: eXcutable 文件:
r: 可使用文件查看类工具获取其内容;
w: 可修改其内容;
x: 可以把此文件提请内核启动为一个进程; 目录:
r: 可以使用ls查看此目录中文件列表;
w: 可在此目录中创建文件,也可删除此目录中的文件;
x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录; ---
--x
-w-
-wx
r--
r-x
rw-
rwx 例如:
: rw-r-----
rwxr-xr-x: 修改文件权限:chmod
chmod [OPTION]... OCTAL-MODE FILE... -R: 递归修改权限 chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限:
u=
g=
o=
ug=
a=
u=,g= 修改一类用户某位或某些位权限
u+
u- chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE; 修改文件的属主和属组:
仅root可用; 修改文件的属主:chown
chown [OPTION]... [OWNER][:[GROUP]] FILE... 用法:
OWNER
OWNER:GROUP
:GROUP Note: 命令中的冒号可用.替换; -R: 递归 chown [OPTION]... --reference=RFILE FILE... 修改文件的属组:chgrp
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE... -R 文件或目录创建时的遮罩码:umask
FILE: -umask
Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+
DIR: -umask umask: 查看
umask #: 设定
目录说明
Linux的文件系统:
根文件系统(rootfs):
root filesystem LSB, FHS: (FileSystem Heirache Standard)
/etc, /usr, /var, /root, /home, /dev /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
/lib:基本共享库文件,以及内核模块文件(/lib/modules);
/lib64:专用于x86_64系统上的辅助共享库文件存放位置;
/etc:配置文件目录(纯文本文件);
/home/USERNAME:普通用户家目录;
/root:管理员的家目录;
/media:便携式移动设备挂载点;
cdrom
usb
/mnt:临时文件系统挂载点;
/dev:设备文件及特殊文件存储位置;
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置;
/srv:系统上运行的服务用到的数据;
/tmp:临时文件存储位置;
/usr: universal shared, read-only data;
bin: 保证系统拥有完整功能而提供的应用程序;
sbin:
lib:
lib64:
include: C程序的头文件(header files);
share:结构化独立的数据,例如doc, man等;
local:第三方应用程序的安装位置;
bin, sbin, lib, lib64, etc, share /var: variable data files
cache: 应用程序缓存数据目录;
lib: 应用程序状态信息数据;
local:专用于为/usr/local下的应用程序存储可变数据;
lock: 锁文件
log: 日志目录及文件;
opt: 专用于为/opt下的应用程序存储可变数据;
run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
spool: 应用程序数据池;
tmp: 保存系统两次重启之间产生的临时数据; /proc: 用于输出内核与进程信息相关的虚拟文件系统;
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置; Linux上的应用程序的组成部分:
二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc Linux下的文件类型:
- (f):普通文件;
d: 目录文件;
b: 块设备;
c: 字符设备;
l: 符号链接文件;
p: 管道文件;
s: 套接字文件;socket;
其它说明:ubuntu开启root用户、安装tree命令
ubuntu开启root用户
ubuntu的root用户默认是禁止的,需要手动打开才行
事实上ubuntu下的所有操作都用不到root用户,由于sudo的合理使用,避免了root用户下误操作而产生的毁灭性问题
root账号启用方法(其实我个人认为这没有多大必要):
执行下面的操作:
.先解除root锁定,为root用户设置密码
打开终端输入:sudo passwd
Password: <--- 输入你当前用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
、更改登陆,允许root登录
打开 系统>系统管理>登录窗口)
点“安全”选项页,选择“允许本地管理员登录”。
、注销当前用户,以root登陆
如果要再次禁用 root 帐号,那么可以执行 sudo passwd -l root。 ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree
CentOS使用yum -y install tree
day04 - linux常用命令、目录说明以及ubuntu解锁root用户,安装tree命令的更多相关文章
- Linux 下非 root 用户安装 theano(配置 GPU)
非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...
- Ubuntu中root用户和user用户的相互切换
转:Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法. (1)从user用户切换到root用户 不管是用图形模式登录Ubuntu, ...
- Ubuntu中root用户和user用户的相互切换(转)
Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法. (1)从user用户切换到root用户 不管是用图形模式登录Ubuntu,还是 ...
- [转]Ubuntu中root用户和user用户的相互切换
[转]Ubuntu中root用户和user用户的相互切换 http://www.cnblogs.com/weiweiqiao99/archive/2010/11/10/1873761.html Ubu ...
- Ubuntu中root用户和user用户的相互切换[转载自93度的饼干]
Ubuntu中root用户和user用户的相互切换 Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法. (1)从user用户切换到 ...
- mac 上面安装 tree 命令
相信很多使用过Linux的用户都用过tree命令,它可以像windows的文件管理器一样清楚明了的显示目录结构. 但是mac下默认是没有 tree命令的. 1.我们可以使用find命令模拟出tree命 ...
- Linux 以非root用户安装zsh&配置on my zsh
此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...
- Ubuntu中root用户和user用户
从user用户切换到root用户 在ununtu系统中缺省用户是user,出于安全考虑,默认时Ubuntu的root用户时没有固定密码的,它的密码是随机产生并且动态改变的. 但是有的时候我们的用户要执 ...
- [转]Ubuntu默认root用户密码
Ubuntu默认root用户密码 在试验的过程中,安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下. 到网上搜了一下,原来是这么回事:Ubuntu的默认root密码 ...
随机推荐
- LeetCode 1108. Defanging an IP Address (IP 地址无效化)
题目标签:String 题目给了我们一组 ip address,让我们把 . 变成 [.],这题可以用replace,但是这样做的话,好像没意义了.所以还是走一下array,具体看code. Java ...
- Hadoop节点集群挂了,Hbase数据源损坏怎么办
今天集群节点一下子挂了5台,hbase的数据块也损坏. hadoop日志 .0.15:36642 dest: /ip:50010 2014-08-26 15:01:14,918 WARN org.ap ...
- ASP.NET网站要手机自适应页面
本文转载的地址:http://mobile.51cto.com/ahot-409516.htm 一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首 ...
- Hadoop配置lzo
编译: 0. 环境准备 maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像) gcc-c++ zlib-devel autoconf automake libtool 通过yu ...
- Jmeter使用:JSON返回数据处理
想要解决的问题: 通过查询接口,获取response数据,作为下个请求post的参数值 后置处理器:JSON Extractor 先下载一个插件:JSONPathExtractor Names of ...
- 一图读懂POLARDB Box数据库一体机的云原生力量!
2019杭州云栖大会上,阿里云宣布正式推出高性能数据库一体机——POLARDB Box,用户部署在自有数据中心即可享受云数据库的便捷体验,同时还为Oracle等传统数据库用户提供一键迁移功能,最多节省 ...
- ROS 自定义消息类型方法
流程 1.在package中新建文件夹名为msg 2.在msg文件夹中创建消息(此处以my_msg.msg)为例,注意的是要以msg为后缀名 内容举例如下: int32 data1 float64 d ...
- System.Web.Mvc.IAuthorizationFilter.cs
ylbtech-System.Web.Mvc.IAuthorizationFilter.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...
- SpringBoot--springboot启动类和controller的配置
作为一个springboot初学者,在探索过程中难免遇到一些坑,边看书边动手,发现书本中的版本是1.0,而我使用的是最新版2.0,所以有些东西不能完全按照书本进行操作,因为2.0中已经不支持1.0中的 ...
- Python sort()函数和sorted()
1.原址排序 1)列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. truple无组报错: 2.副本排序 1)[:]分片方法 注意: ...