admin管理员组文章数量:1583925
目录
文件管理
pwd-查看当前工作目录
cd-更改当前工作目录
touch-创建文件
mkdir-创建目录
cp-复制文件
mv-移动文件
rm-删除文件
tar-打包和压缩
打包,压缩
解压,解包
查看文件内容
tree-查看目录结构及其子分支
vi-修改文件内容
文件类型
find-查找文件
locate-文件查找
ln-软链接
用户管理
id-显示用户信息
useradd-创建用户
passwd-设置或更改用户密码
userdel-删除用户
修改登录SHELL
su-切换用户
用户组管理
groupadd-创建组
groupdel-删除组
usermod-添加用户到组
gpasswd-添加用户到组
gpasswd-从组中删除用户
文件权限管理
Linux用户权限解析
权限对象:
查看权限:
权限类型:
chmod-设置权限:
chgrp-修改属组:
进程管理
ps-静态查看进程
top-动态查看进程
kill-杀死进程
nice-进程优先级
jobs-作业控制
网络管理
nmtui-简易图形配置网络连接
ss-端口查看
netstat-端口查看
其他常用命令
which-命令查找
whereis-命令查找
ssh-远程登陆
scp-远程拷贝
ssh-免密登录
文件管理
pwd-查看当前工作目录
pwd
cd-更改当前工作目录
cd /path/to/directory # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 进入用户的主目录
touch-创建文件
语法:touch 文件名
创建一个文件
touch file1.txt
查看文件
ls
ls -l #查看列表详细信息
ls -a #查看全部文件,包括隐藏文件
ll #查看列表详细信息,等于ls -l
ll -h #查看列表详细信息,显示文件大小以K,M,G的方式显示,等于ls -l -h
mkdir-创建目录
语法:mkdir 空格 路径和目录名
当前路径下创建一个目录
mkdir dir1
选项:mkdir -p // 父系,当创建目录没有上一级时,自动创建
mkdir -p /dir1/dir2/dir3 #当前路径下没有dir1,dir2时会被自动创建
cp-复制文件
语法:cp 源文件路径 目标文件夹
选项:cp -r 源目录 目标目录
cp filename dir1/
ls dir1/
看到复制的文件即可
mv-移动文件
语法:mv 源文件路径 目标文件路径
mkdir filename #先创建一个文件
mv filename dir1/ #移动文件
ls dir1/ #查看移动的文件
mv filename1 filename2 #修改文件名
rm-删除文件
语法:rm -rf 文件或目录的路径
rm filename
rm -r /dir/filename #递归删除文件
rm -f /dir/filename #不再是否询问删除文件
tar-打包和压缩
语法:tar -选项 源文件 目的路径
选项:v是显示解压/打包过程详情
打包,压缩
tar -cf etc.tar /etc #压缩
tar -xf etc.tar /etc #解压
tar -czvf etc-gzip.tar.gz /etc/ #z是zip
tar -cjf etc-bzip.tar.bz /etc/ #j是bip
tar -cJf etc-xzip.tar.xz /etc/ #J是xzip
解压,解包
tar -tf etc.tar #查看,并没有解压
tar -xvf etc2.tar.bz2 #解压至当前路径
tar -xvf etc2.tar.bz2 -C /tmp #-C重定向到/tmp目录
查看文件内容
cat查看文件全部内容
cat filename
tac 与 cat 命令刚好相反,文件内容从最后一行开始显示。
tac filename
less分页查看文件内容
less filename
more翻页查看文件
more filename
head查看文件头部内容
head filename
head -n 10 filename #查看文件前10行
tail尾部
tail filename
tail -n 10 filename #查看文件后10行
grep过滤关键字
针对文件内容进行过滤
语法:grep 关键字 文件名
grep 'abc' filename
前提是文件中要有abc哦,否则结果没有内容。
tree-查看目录结构及其子分支
tree
tree dirname #指定目录
vi-修改文件内容
vi,vim
可视模式,按V进入,小v光标自己选取,大V直接选取一行,YY+p复制粘贴即可。
ctrl+V,上下选择,然后可以ctrl+> 进行整体缩进。
文本编辑
yy 复制
dd 删除
p 粘贴
u undo撤销
查找替换
:范围 s/原内容/新内容/全局
:1,5 s/root/qianfeng/g 从1-5行的root 替换为qianfeng
:% s/原内容/新内容/全局
另存为
:w file9.txt 另存为 file9.txt
光标定位
hjkL //上下左右
0 $ //行首行尾
gg G //页首页尾
3G 进入第三行
/string (n N 可以循环的) //查找字符,按n键选下一个(重要)
:set nu 设置行号
:set nonu 取消设置行号
:set list 显示控制字符
文件类型
Linux 最经典的一句话是:「一切皆文件」,不仅普通的文件和目录,就连块设备、管道、socket 等,也都是统一交给文件系统管理的。
常见类型
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
非常见类型
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1
l 链接文件(淡蓝色)
s 套接字文件
p 管道文件
查看不同的文件类型。你能找出几种呢?
ll /etc
注意
通过颜色判断文件的类型是不一定正确的!!!
Linux系统中文件是没有扩展名!!!
find-查找文件
语法:find 查找文件路径 选项 'filename'
find /path -name'filename' #按文件名称
find /path +5M' #按文件大小,+(大于) -(小于) =(等于)
find /Maxdepth 4 -a -name'filename' #指定目录深度
find /path -user jack #按属主
find /path -group it #按属组
find /tmp -type f #按文件类型,f普通文件 b块设备文件 d目录 p管道 l链接
find . -perm 644 -ls #按文件权限
find /etc -name "775*" -delete #找到后删除
find /etc -name "hosts*" -ok cp -rvf {} /tmp \ #找到后复制
locate-文件查找
[root@localhost ~]# updatedb #更新locate数据库
[root@localhost ~]# locate hosts #查找hosts文件
/etc/hosts
/etc/samba/lmhosts
/usr/bin/sss_ssh_knownhostsproxy
/usr/lib64/security/pam_rhosts.so
/usr/share/doc/pam/README.d/README.pam_rhosts
/usr/share/man/de/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/fr/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/ja/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/man5/hosts.5.gz
/usr/share/man/man5/hosts.equiv.5.gz
/usr/share/man/man5/lmhosts.5.gz
/usr/share/man/ru/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/sv/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/man/uk/man1/sss_ssh_knownhostsproxy.1.gz
/usr/share/vim/vim80/ftplugin/denyhosts.vim
/usr/share/vim/vim80/ftplugin/hostsaccess.vim
/usr/share/vim/vim80/syntax/denyhosts.vim
/usr/share/vim/vim80/syntax/hostsaccess.vim
/usr/share/zsh/site-functions/_sd_hosts_or_user_at_host
ln-软链接
ln -s /sourcefile /destfile
用户管理
id-显示用户信息
id
id -u #仅显示UID
id -r #仅显示实际的ID
id -g #仅显示用户的基本组ID
id -G #仅显示用户所属的所有组ID
id -n #显示名称,而非ID
useradd-创建用户
useradd username
创建用户user02,指定uid
useradd username -u 1001
创建用户user03 指定家目录
useradd username -d /username
passwd-设置或更改用户密码
passwd username
userdel-删除用户
userdel username
userdel -f username #强制删除用户
修改登录SHELL
usermod -s /sbin/nologin username
su-切换用户
su username #以root身份登录用户
su - username #以用户身份登录用户
用户组管理
groupadd-创建组
groupadd groupname
tail -3 /etc/group #查看,或者
grep 'groupname' /etc/group
groupdel-删除组
groupdel groupname
tail -3 /etc/group #查看,或者
grep 'groupname' /etc/group
usermod-添加用户到组
查看用户原信息
id username
uid=1002(username) gid=1002(username) 组=1002(username)
语法:usermod aG 组名 用户名
usermod username -aG groupname
gpasswd-添加用户到组
gpasswd -a username groupname
再次查看用户信息
id username
uid=1002(username) gid=1002(username) 组=1002(username),1005(hr)
gpasswd-从组中删除用户
gpasswd -d username groupname
文件权限管理
Linux用户权限解析
权限对象:
属主: u
属组: g
其他人: o
所有人:a(u+g+o)
查看权限:
ls -l filename
-rw-r--r--. 1 root root 179 5月 25 14:27 filename
-rw-:属主的权限,读写
r--:属组的权限,读
r--:其他人的权限,读
1:第2字段的值为1,说明文件只有这一个文件名。即只有一个指向该链接的硬链接。
root:文件的属主
root:文件的属组
179:文件大小
5月 25 14:27:时间
filename:文件名称
权限类型:
读:r=4
写:w=2
执行: x=1
chmod-设置权限:
使用符号:u用户 g组 o其他 r读 w写 x执行
语法: chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录
选项:-R 针对目录中所有的文件。
chmod 644 filename #设置一个文件属主读写,属组读,其他人读权限
ll filename
-rw-r--r--. 1 root root 0 7月 25 13:42 filename
chmod +x filename #赋予文件所有者执行权限
ll
-rwxr-xr-x. 1 root root 0 7月 25 13:42 filename
chmod -r filename #收回文件所有者读权限
ll
--wx--x--x. 1 root root 0 7月 25 13:42 filename
chmod xiaoming filename #只改属主
chmod .hr filename #只改属组
chgrp-修改属组:
chgrp: 设置一个文件属于哪个组
语法:chgrp 组名 文件
选项:-R是递归修改文件
chgrp groupname filename
进程管理
ps-静态查看进程
ps -ef
ps -aux
top-动态查看进程
top
kill-杀死进程
kill -9 processId #非法杀死进程
kill -15 processId #正常终止进程
nice-进程优先级
ps -aox | grep processId #查看进程优先级
renice -20 processId #指定进程id的优先级为-20
ps -aox | grep processId #再次查看进程优先级
jobs-作业控制
sleep 3000 & #后台运行一个程序
jobs #查看后台运行程序
fg 1 #将作业1调回到前台
kill %1 #杀死作业序号为1的后台程序
网络管理
nmtui-简易图形配置网络连接
nmtui
ss-端口查看
ss -tnl
netstat-端口查看
netstat -tnlp
其他常用命令
which-命令查找
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
whereis-命令查找
[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
ssh-远程登陆
语法:ssh [options] [user@]ipaddress [command]
选项:
-l user
:指定要登录的用户。-p port
:指定连接到远程主机的端口号,默认是22。-i identity_file
:指定身份验证文件(私钥文件)。-v
:详细模式,可以显示调试信息。-C
:启用压缩。-N
:不执行远程命令,只进行端口转发。-f
:后台运行。-L local_port:remote_host:remote_port
:本地端口转发。-R remote_port:local_host:local_port
:远程端口转发。-D [bind_address:]port
:动态应用程序级端口转发。
ssh username@remote_ip
ssh -p 2024 username@remote_ip #指定端口登录
ssh -i /path/to/private_key user@remote_ip #使用身份验证文件
ssh user@remote_ip command #在远程主机上执行命令
ssh -v user@remote_ip #详细模式
ssh -C user@remote_ip #启用压缩
ssh -f -N user@remote_ip #后台运行且不执行命令
ssh -L local_port:remote_host:remote_port user@remote_ip #本地端口转发
ssh -R remote_port:local_host:local_port user@remote_ip #远程端口转发
ssh -D [bind_address:]port user@remote_ip #动态端口转发
ssh -A user@remote_ip #启用代理转发
ssh -X user@remote_ip #启用 X11 转发
scp-远程拷贝
语法:scp [可选参数] file_source file_target
选项:
- -1: 强制scp命令使用协议ssh1
- -2: 强制scp命令使用协议ssh2
- -4: 强制scp命令只使用IPv4寻址
- -6: 强制scp命令只使用IPv6寻址
- -B: 使用批处理模式(传输过程中不询问传输口令或短语)
- -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
- -p:保留原文件的修改时间,访问时间和访问权限。
- -q: 不显示传输进度条。
- -r: 递归复制整个目录。
- -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
- -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
- -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
- -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
- -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
- -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
- -P port:注意是大写的P, port是指定数据传输用到的端口号
- -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
从本地复制到远程:
scp local_file remote_username@remote_ip:remode_folder #指定远程文件夹
scp local_file remote_username@remote_ip:remode_file #指定远程文件名
scp local_file remote_ip:remode_folder #指定远程文件夹
scp local_file remote_ip:remode_file #指定远程文件名
scp -r /home/space/music/ root@www.runoob:/home/root/others/ #递归复制整个目录
scp -r /home/space/music/ www.runoob:/home/root/others/
从远程复制到本地:
scp root@remote_ip:/home/root/music /home/music/test.mp3
scp -r remote_ip:/home/root/others/ /home/music/
指定端口号:
scp -P 4588 remote@remote_ip: /tmp/test.txt /home/administrator
ssh-免密登录
ssh-keygen #然后一顿回车
ssh-copy-id remote_ip #将密钥发送给远程主机,此步之后要求输入root用户密码
ssh remote_ip #测试,观察还用不用输密码
看完记得点赞+收藏哦,以免不慎丢失!
版权声明:本文标题:Linux常用命令大全 零基础入门到精通,收藏这一篇就够了! 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727930135a1138531.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论