linux基础命令
Linux
1. mac进入linux
命令: ssh 用户名@IP地址
localhost:~ h$ ssh root@10.95.99.168
root@10.95.99.168's password: 输入密码即可
修改密码: passwd
mac向linux传文件: scp -r 文件夹/ root@10.95.97.158:/文件夹
常用目录:
- / 根目录
- /bin 命令保存的目录
- /boot 启动目录
- /dev 设备文件目录
- /etc 配置文件保存目录
- /home 普通用户的目录
- /root root管理员目录
- /lib 系统库保存目录
- /mnt 系统挂载目录
- /media 另一个挂载目录
- /tmp 保存临时文件
- /proc 和 /sys 内存目录,不能直接操作
- /usr 软件系统资源目录
- /usr/bin 普通用户的系统命令
- /usr/sbin 超级用户的系统命令
- /var 系统文档目录
2. shell命令
-
查看命令帮助
man 命令名称
或者部分命令名称 -h
-
查看当前路径
pwd
-
查看文件
ls
常用参数:
- -a 显示全部文件
- -l 显示文件详情
- -i 查看inode节点
- -h 更人性化显示
-
文件操作
- 新建空文件
touch 文件名
- 查看文件
cat 文件名
- 编辑文件
vim 文件名
(vim比vi功能更强大) - 复制文件
cp 文件名 目的文件夹名及文件名
- -r 复制目录
- -p 连带文件属性复制
- -d 若源文件是链接文件,则复制链接属性
- -a 相当于 -pdr
- 链接文件
ln 源文件 链接名
- -s 创建软链接(源文件写绝对路径,否则如果不在同一目录下会报错)
- 新建空文件
-
文件夹操作
- 新建
mkdir 文件夹名
- 递归创建
mkdir -p 文件夹名
- 删除
rm -rf 文件夹名
,-r
为循环删除-f
为强制删除 - 移动及重命名
mv 源文件名 新文件名
- 新建
-
搜索
-
locate 文件名
(大致匹配)
locate搜索的是 /var/lib/mlocate 数据库中的内容(更新频率大概24h,需要手动立即更新可执行命令updatedb
),updatedb更新依据的是/etc/updatedb.conf文件的内容进行搜索 -
whereis 系统命令名
- -b 只看可执行文件
- -m 只看可帮助文件
-
find 搜索范围 搜索条件
(精确匹配)-
按照文件名搜索
find / -iname file.log
(在/根目录查找名字为file.log的文件,-i是忽略大小写)- 通配符:
*
任意多个字符;?
任意一个字符;[]
括号内任意一个字符
- 通配符:
-
按照所有者搜索
find . -user root
(在当前目录下查找所有者为root的文件)find . -nouser
(在当前目录下查找没有所有者的文件) -
按照时间搜索
find / -atime +10
(在/根目录下查找10天之前访问过的文件)-atime
访问文件时间;-mtime
修改文件时间;ctime
修改文件属性时间;+10
10天之前;10
10天前的当天;-10
十天内;
-
按照文件大小搜索
find / -size +10k
(在/根目录下查找大于10k的文件)+10k
大于10k;10k
等于10k;-10k
小于10k;k
必须小写;M
必须大写
-
按照inode节点查找
find / -inum 888888
(在/根目录下查找节点号为888888的文件) -
逻辑选项
find / -size +10k -a -size -20k
(查找大于10k并且小于20k的文件)-a
且;-o
或
-
find之后执行文件命令
find / -inum 888888 -exec rm -rf {} \;
(找到节点为888888的节点并删除)
-
-
grep 参数 字符窜 文件名
grep -i "str" file.md
(在file文件中找到含有字符串“str”的行)- -i 忽略大小写
- -v 排除指定字符窜
-
-
压缩文件
-
zip文件
zip 压缩文件名 源文件
zip -r 压缩名 源目录
unzip 压缩文件
(解压)
-
tar.gz文件
-
tar -zcvf 压缩包名.tar.gz 源文件
(压缩文件为tar.gz的格式) -
tar -zxvf 压缩包名.tar.gz
(解压格式为tar.gz的文件) -
tar -zxvf 压缩包名.tar.gz -C /tmp
(-C选择解压后的路径) -
tar -jcvf 压缩包名.tar.gz 源文件
(压缩文件为tar.bz2的格式)- -c: 打包
- -v: 显示过程
- -f: 指定打包后的文件名
-
-
-
历史命令
history
(查看所有的历史命令)- -c: 清空所有的历史
- -w: 把缓存的历史命令写入到~/.bash_history
- !n: 重复执行第n条历史命令
- !!: 重复执行上一条命令
- !字符串: 重复执行最后一条以该字符串开头的命令
-
权限
权限位共有十位,比如:
-rwxrw-r--
第一位“-” 二到四位“rwx” 五到七位“rw-” 八到十位“r--” 文件类型 u所有者 g所属组 o其他人 - 文件类型:“-”是文件;“d”是目录;“l”是软连接
- “r”是读;“w”是写;”x“是执行
-
关机和重启
shutdown -r 12:00 &
(12:00时重启,“&”符号是后台符,程序放入后台执行)- -h: 关机
- -r: 重启
- -c: 取消前一个命令
-
系统运行级别
init 数字
(切换系统等级,由 /etc/inittab 文件控制)- 0 关机
- 1 单用户,用于进行修复,启动最小程序
- 2 不完全多用户
- 3 完全多用户,即常用字符界面
- 4 未分配
- 5 图形界面
- 6 重启
runlevel
(查看系统等级) -
挂载
mount
(查看系统中的已经挂载的文件)- -a 根据/etc/fstab的配置自动挂载文件
mount -t 文件系统 -o 特殊选项 设备 文件名 挂载点
- -t: 比如ext4(硬盘分区), iso9660(光盘)
- -o: remount, exec/noexec, rw/ro等
mount -t iso9660 /dev/sr0 /mnt/cd
(把光盘挂载到文件/mnt/cd中)umount dev/sr0
或者umount mnt/cd
(卸载光盘)fdisk -l #可以查看已经识别的分区,从而知道U盘的设备名 mount -t vfat /dev/sdb1 /mnt/usb #把U盘挂载到/mnt/usb中,注意:U盘设备名不一定是sdb1,需要上一步查看
-
查看用户
w
查看登录的用户信息who
查看登录的用户信息,比上一条信息少last
查看之前所有用户登录信息,实际查询的是 /var/log/wtmp 文件lastlog
查看所有的用户,实际查询的是 /var/log/lastlog 文件