Linux 常用命令和操作
每日一句 Linux, 持续更新
文件操作相关
-
远程登录 linux 服务器。首先要按照ssh(win10默认是安装了的)。命令行窗口,使用 ssh 登录名@serverIp,之后输入密码即可进入到服务器。
-
列出当前目录下的所有文件和文件夹(包括系统文件):
ls -a
-
列出当前目录下的所有文件和文件夹:
ls
;其中蓝色字体的表示是文件夹,白色字体名称的表示是文件 -
cd 文件夹名称
进入当前目录;键入cd 后,文件夹名称可不输全,之后一个Tab键,让系统自动补全 -
vi 文件名
打开要编辑的文本,之后键入i
进入编辑模式 ;编辑完之后,按ESC
退出编辑模式,之后输入:
回到最后,输入wq
保存并退出;q!
强制退出不保存 -
vim
打开文件后,dw 可以删除当前光标下的单词;d$ 删除当前光标到行尾的文本;dd 删除整行,2dd 删除2行 -
2w 会使光标向前移动2个单词,0 会移动到当前行首
-
u
会撤销更改,CTRL+R 会撤销掉撤销命令,就是恢复到 u 之前的状态 -
dd 和 p 组合使用,可调整一行文本的位置。
-
如果要修改某个字符,可以输入 r ,接着输入要替换的字符即可;
-
输入 / 后加字符可在当前文件中进行查找,之后输入 n 可查找同上次的字符串,N 是向上反方向查找
-
输入 :/s/thee/the 即可将该行第一个匹配的thee 替换为the ,:/s/thee/the/g 替换该行所有的thee为the
-
cd /
快速回到根目录 -
cd ~
快速回到家目录 -
cd -
快速回到上一次的目录 -
pwd
查看当前所在目录 -
Ctrl_D
注销 -
cat /etc/mytest | sort
查看mytest文件中的内容,并按照字典顺序排序 -
cat /etc/mytest | grep -E "hello"
在文件mytest中检索包含 hello 的行 -
touch mytest
新建mytest文件 -
mkdir myfolder
新建myfolder文件夹 -
mkdir -p father/son/myfolder
会自动创建父目录 -
ls ..
显示上一级目录下的所有文件 -
ls -a
显示当前目录下的所有文件,包括隐藏文件 -
ls -al
列表显示当前文件夹下的所有文件 -
ls -asSh
以人类能看懂的方式,显示当前目录下的所有文件大小 -
sudo chown wangwu mydir
变更 mydir 目录的所有者为 wangwu,并且当前登录的用户必须是 wangwu 才能变更成功 -
tree /
以树形列出当前目录下的所有文件夹和文件,如果找不到命令则安装sudo apt-get install tree
-
cp test father/son/grandson
复制test文件到目标的目录中 -
cp -r father family
复制father目录到family -
rm test
删除test文件 -
rm -f test
强制删除test文件,遇到权限不足时会使用 -
rm -rf father
强制删除father目录 -
mv test father
移动test文件到father目录 -
mv oldname newname
重命名文件 -
cat -n test
查看test文件内容,并显示行号;tac
为倒序显示 -
tail -n 10 test
查看test文件的最后10行;也可用head 来查看开始的行 -
echo "this is first code" >> test
以追加的方式将文本写入到test文件中,不存在就会创建,一个 > 则会以覆盖的方式写入
文件搜索
whereis test
查找test文件,并列出路径locate /usr/share/*.jpg
在某一目录下查找文件find /usr/ -name test
在特定目录下查找名称为test的文件或目录,find命令十分强大,可以根据文件类型以及文件的其他属性进行查找
文件压缩与解压
zip -r -q -o zipname.zip /home/user/tozippath
r 表示提柜循环压缩多层文件夹 q 表示安静模式,o 表示输出名称unzip -q zipname.zip -d destmulu
解压缩到指定的目录
*tar -cf tarname.tar originname
打包
*tar -sf tarname.tar
解包
防火墙和端口
- 查看liunx中端口占用情况
netstat -lntp
查看防火墙状态
service iptables status
比如此时的绿点就表示防火墙处于开启状态
停止防火墙
service iptables stop
此时的灰点就表示防火墙处于关闭状态
启动防火墙
service iptables start
重启防火墙
service iptables restart
永久关闭防火墙
chkconfig iptables off
永久关闭后重启
chkconfig iptables on
系统进程相关
- 查看系统cpu 占用
top
命令
用户和组
- 查看当前使用的用户
who am i
或whoami
切换用户执行一些命令su <user>
,此时用户的环境变量和工作目录还是原用户的 sudo <cmd>
可以以特权运行cmd命令,需要当前用户属于sodo组su - <user>
切换用户,同时用户的环境变量和工作目录也会变化sudo adduser <username>
新建用户名为username的用户passwd <username>
更新usename的密码su -l <username>
切换使用username的用户登录groups lisi
查看lisi用户所属的用户组,每次新建用户,如果没有找到用户组,就会自动新建一个用户名同名的用户组sudo usermod -G sodo lisi
将用户lisi添加到 sudo 用户组sudo deluser lisi --remove-home
删除用户- 每个用户对文件的权限都是
rwx 【读取,写入,执行】
,可用3位二进制表示这三个权限,有该项权限则为1,无则为0.而每个文件有三组固定的权限,分别对应拥有者(user) 用户组(group),其他用户(others) 。所以test这个文件,如果要修改成3者都只有读写权限,则可以执行chmod 666 test
或者可以使用权限加减操作来达到此效果:chmod go-rw test
表示将用户组和其他用户的读写test 的权限去除。
磁盘管理相关
df
查看磁盘容量